You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by pe...@apache.org on 2001/08/15 00:11:57 UTC

cvs commit: xml-xerces/c/src/validators/datatype AnyURIDatatypeValidator.cpp IDDatatypeValidator.cpp IDREFDatatypeValidator.cpp ENTITYDatatypeValidator.cpp UnionDatatypeValidator.cpp ListDatatypeValidator.cpp QNameDatatypeValidator.cpp NOTATIONDatatypeValidator.cpp

peiyongz    01/08/14 15:11:57

  Modified:    c/src/validators/datatype AnyURIDatatypeValidator.cpp
                        IDDatatypeValidator.cpp IDREFDatatypeValidator.cpp
                        ENTITYDatatypeValidator.cpp
                        UnionDatatypeValidator.cpp
                        ListDatatypeValidator.cpp
                        QNameDatatypeValidator.cpp
                        NOTATIONDatatypeValidator.cpp
  Log:
  new exception message added
  
  Revision  Changes    Path
  1.3       +7 -3      xml-xerces/c/src/validators/datatype/AnyURIDatatypeValidator.cpp
  
  Index: AnyURIDatatypeValidator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/validators/datatype/AnyURIDatatypeValidator.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AnyURIDatatypeValidator.cpp	2001/08/10 16:21:19	1.2
  +++ AnyURIDatatypeValidator.cpp	2001/08/14 22:11:56	1.3
  @@ -55,8 +55,11 @@
    */
   
   /*
  - * $Id: AnyURIDatatypeValidator.cpp,v 1.2 2001/08/10 16:21:19 peiyongz Exp $
  + * $Id: AnyURIDatatypeValidator.cpp,v 1.3 2001/08/14 22:11:56 peiyongz Exp $
    * $Log: AnyURIDatatypeValidator.cpp,v $
  + * Revision 1.3  2001/08/14 22:11:56  peiyongz
  + * new exception message added
  + *
    * Revision 1.2  2001/08/10 16:21:19  peiyongz
    * use XMLUri instead of XMLURL
    *
  @@ -615,8 +618,9 @@
       } 
       catch (...) 
       {
  -        ThrowXML1(InvalidDatatypeValueException, XMLExcepts::VALUE_NotIn_Enumeration, content);
  -        //("Value '"+content+"' is a Malformed URI ");
  +        ThrowXML1(InvalidDatatypeValueException
  +                , XMLExcepts::VALUE_URI_Malformed
  +                , content);
       }
   
   }
  
  
  
  1.3       +22 -11    xml-xerces/c/src/validators/datatype/IDDatatypeValidator.cpp
  
  Index: IDDatatypeValidator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/validators/datatype/IDDatatypeValidator.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- IDDatatypeValidator.cpp	2001/07/24 21:23:40	1.2
  +++ IDDatatypeValidator.cpp	2001/08/14 22:11:56	1.3
  @@ -55,8 +55,11 @@
    */
   
   /*
  - * $Id: IDDatatypeValidator.cpp,v 1.2 2001/07/24 21:23:40 tng Exp $
  + * $Id: IDDatatypeValidator.cpp,v 1.3 2001/08/14 22:11:56 peiyongz Exp $
    * $Log: IDDatatypeValidator.cpp,v $
  + * Revision 1.3  2001/08/14 22:11:56  peiyongz
  + * new exception message added
  + *
    * Revision 1.2  2001/07/24 21:23:40  tng
    * Schema: Use DatatypeValidator for ID/IDREF/ENTITY/ENTITIES/NOTATION.
    *
  @@ -105,9 +108,12 @@
           int enumLength = enums->size();
           for ( int i = 0; i < enumLength; i++)
           {
  -            if ( XMLString::isValidName(enums->elementAt(i)) == false)
  -                ThrowXML(InvalidDatatypeFacetException, XMLExcepts::FACET_Len_minLen);
  -                //("Value '"+content+"' is not a valid NCName");
  +            if ( !XMLString::isValidNCName(enums->elementAt(i)))
  +            {
  +                ThrowXML1(InvalidDatatypeFacetException
  +                        , XMLExcepts::VALUE_Invalid_NCName
  +                        , enums->elementAt(i));
  +            }
           }
       }
   
  @@ -122,11 +128,14 @@
       //
       StringDatatypeValidator::validate(content);
   
  -    // check 3.3.1.constrain must: "Name"
  +    // check 3.3.8.constrain must: "NCName"
       //
  -    if (XMLString::isValidName(content) == false)
  -        ThrowXML(InvalidDatatypeValueException, XMLExcepts::FACET_Len_minLen);
  -        //("Value '"+content+"' is not a valid NCName");
  +    if ( !XMLString::isValidNCName(content))
  +    {
  +        ThrowXML1(InvalidDatatypeFacetException
  +                , XMLExcepts::VALUE_Invalid_NCName
  +                , content);
  +    }
   
       // storing IDs to the global ID table
       if (fIDRefList)
  @@ -139,9 +148,11 @@
       if (find)
       {
           if (find->getDeclared())
  -            ThrowXML(InvalidDatatypeValueException, XMLExcepts::FACET_Len_minLen);
  -            //ThrowXML(InvalidDatatypeValueException, XMLExcepts::VALUE_ID_Not_Unique);
  -            //("Value '"+content+"' has to be unique");
  +        {
  +            ThrowXML1(InvalidDatatypeValueException
  +                    , XMLExcepts::VALUE_ID_Not_Unique
  +                    , content);
  +        }
       }
        else
       {
  
  
  
  1.3       +18 -9     xml-xerces/c/src/validators/datatype/IDREFDatatypeValidator.cpp
  
  Index: IDREFDatatypeValidator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/validators/datatype/IDREFDatatypeValidator.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- IDREFDatatypeValidator.cpp	2001/07/24 21:23:40	1.2
  +++ IDREFDatatypeValidator.cpp	2001/08/14 22:11:56	1.3
  @@ -55,8 +55,11 @@
    */
   
   /*
  - * $Id: IDREFDatatypeValidator.cpp,v 1.2 2001/07/24 21:23:40 tng Exp $
  + * $Id: IDREFDatatypeValidator.cpp,v 1.3 2001/08/14 22:11:56 peiyongz Exp $
    * $Log: IDREFDatatypeValidator.cpp,v $
  + * Revision 1.3  2001/08/14 22:11:56  peiyongz
  + * new exception message added
  + *
    * Revision 1.2  2001/07/24 21:23:40  tng
    * Schema: Use DatatypeValidator for ID/IDREF/ENTITY/ENTITIES/NOTATION.
    *
  @@ -89,16 +92,19 @@
   
       //
       // if enumeration is provided, make sure that they
  -    // are all valid Name(s).
  +    // are all valid NCName(s).
       //
       if (enums)
       {
           int enumLength = enums->size();
           for ( int i = 0; i < enumLength; i++)
           {
  -            if ( XMLString::isValidName(enums->elementAt(i)) == false)
  -                ThrowXML(InvalidDatatypeFacetException, XMLExcepts::FACET_Len_minLen);
  -                //("Value '"+content+"' is not a valid NCName");
  +            if ( !XMLString::isValidNCName(enums->elementAt(i)))
  +            {
  +                ThrowXML1(InvalidDatatypeFacetException
  +                        , XMLExcepts::VALUE_Invalid_NCName
  +                        , enums->elementAt(i));
  +            }
           }
       }
   
  @@ -113,11 +119,14 @@
       //
       StringDatatypeValidator::validate(content);
   
  -    // check 3.3.1.constrain must: "Name"
  +    // check 3.3.9.constrain must: "NCName"
       //
  -    if ( XMLString::isValidName(content) == false)
  -        ThrowXML(InvalidDatatypeValueException, XMLExcepts::FACET_Len_minLen);
  -        //("Value '"+content+"' is not a valid QName");
  +    if ( !XMLString::isValidNCName(content))
  +    {
  +        ThrowXML1(InvalidDatatypeFacetException
  +                , XMLExcepts::VALUE_Invalid_NCName
  +                , content);
  +    }
   
       // this is different from java, since we always add, while
       // in java, it is done as told. REVISIT.
  
  
  
  1.3       +23 -10    xml-xerces/c/src/validators/datatype/ENTITYDatatypeValidator.cpp
  
  Index: ENTITYDatatypeValidator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/validators/datatype/ENTITYDatatypeValidator.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ENTITYDatatypeValidator.cpp	2001/07/24 21:23:39	1.2
  +++ ENTITYDatatypeValidator.cpp	2001/08/14 22:11:56	1.3
  @@ -55,8 +55,11 @@
    */
   
   /*
  - * $Id: ENTITYDatatypeValidator.cpp,v 1.2 2001/07/24 21:23:39 tng Exp $
  + * $Id: ENTITYDatatypeValidator.cpp,v 1.3 2001/08/14 22:11:56 peiyongz Exp $
    * $Log: ENTITYDatatypeValidator.cpp,v $
  + * Revision 1.3  2001/08/14 22:11:56  peiyongz
  + * new exception message added
  + *
    * Revision 1.2  2001/07/24 21:23:39  tng
    * Schema: Use DatatypeValidator for ID/IDREF/ENTITY/ENTITIES/NOTATION.
    *
  @@ -99,9 +102,12 @@
           int enumLength = enums->size();
           for ( int i = 0; i < enumLength; i++)
           {
  -            if ( XMLString::isValidNCName(enums->elementAt(i)) == false)
  -                ThrowXML(InvalidDatatypeFacetException, XMLExcepts::FACET_Len_minLen);
  -                //("Value '"+content+"' is not a valid NCName");
  +            if ( !XMLString::isValidNCName(enums->elementAt(i)))
  +            {
  +                ThrowXML1(InvalidDatatypeFacetException
  +                        , XMLExcepts::VALUE_Invalid_NCName
  +                        , enums->elementAt(i));
  +            }
           }
       }
   
  @@ -118,11 +124,14 @@
       StringDatatypeValidator::validate(content);
   
       //
  -    // check must: "NCName"
  +    // 3.3.11 check must: "NCName"
       //
  -    if ( XMLString::isValidNCName(content) == false)
  -        ThrowXML(InvalidDatatypeValueException, XMLExcepts::FACET_Len_minLen);
  -        //("Value '"+content+"' is not a valid NCName");
  +    if ( !XMLString::isValidNCName(content))
  +    {
  +        ThrowXML1(InvalidDatatypeFacetException
  +                , XMLExcepts::VALUE_Invalid_NCName
  +                , content);
  +    }
   
       //
       // parse the entity iff an EntityDeclPool is provided
  @@ -133,8 +142,12 @@
   
           if (!decl                ||
               (decl->isUnparsed())  )
  -            ThrowXML(InvalidDatatypeValueException, XMLExcepts::CM_UnaryOpHadBinType);
  -            //"ENTITY '"+ content +"' is not valid" )
  +        {
  +            ThrowXML1(InvalidDatatypeFacetException
  +                    , XMLExcepts::VALUE_ENTITY_Invalid
  +                    , content);
  +        }
  +
       }
   
       return;
  
  
  
  1.2       +23 -13    xml-xerces/c/src/validators/datatype/UnionDatatypeValidator.cpp
  
  Index: UnionDatatypeValidator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/validators/datatype/UnionDatatypeValidator.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- UnionDatatypeValidator.cpp	2001/07/13 14:10:40	1.1
  +++ UnionDatatypeValidator.cpp	2001/08/14 22:11:56	1.2
  @@ -55,8 +55,11 @@
    */
   
   /*
  - * $Id: UnionDatatypeValidator.cpp,v 1.1 2001/07/13 14:10:40 peiyongz Exp $
  + * $Id: UnionDatatypeValidator.cpp,v 1.2 2001/08/14 22:11:56 peiyongz Exp $
    * $Log: UnionDatatypeValidator.cpp,v $
  + * Revision 1.2  2001/08/14 22:11:56  peiyongz
  + * new exception message added
  + *
    * Revision 1.1  2001/07/13 14:10:40  peiyongz
    * UnionDTV
    *
  @@ -85,10 +88,11 @@
   ,fEnumeration(0)
   ,fMemberTypeValidators(0)
   {
  -    if (!memberTypeValidators)
  -        ThrowXML1(InvalidDatatypeFacetException, XMLExcepts::FACET_Invalid_Len, value1);
  -        //ThrowXML(InvalidDatatypeFacetException, XMLExcepts::FACET_Union_Null_memberTypeValidators);
  -        //"Not Null memberTypeValidators required for UnionDatatypeValidator
  +    if ( !memberTypeValidators )
  +    {
  +        ThrowXML(InvalidDatatypeFacetException
  +               , XMLExcepts::FACET_Union_Null_memberTypeValidators);
  +    }
   
       // no pattern, no enumeration
       fMemberTypeValidators = memberTypeValidators;
  @@ -110,14 +114,18 @@
       // it shall be not null
       //
       if (!baseValidator)
  -        ThrowXML1(InvalidDatatypeFacetException, XMLExcepts::FACET_Invalid_Len, value1);
  -        //ThrowXML(InvalidDatatypeFacetException, XMLExcepts::FACET_Union_Null_baseValidator);
  -        //"Not Null baseValidator required for UnionDatatypeValidator
  +    {
  +        ThrowXML(InvalidDatatypeFacetException
  +               , XMLExcepts::FACET_Union_Null_baseValidator);
  +    }
   
       if (baseValidator->getType() != DatatypeValidator::Union)
  -        ThrowXML1(InvalidDatatypeFacetException, XMLExcepts::FACET_Invalid_Len, value1);
  -        //ThrowXML(InvalidDatatypeFacetException, XMLExcepts::FACET_Union_invalid_baseValidator);
  -        //"Union baseValidator required for UnionDatatypeValidator
  +    {
  +        XMLString::binToText(baseValidator->getType(), value1, BUF_LEN, 10);
  +        ThrowXML1(InvalidDatatypeFacetException
  +                , XMLExcepts::FACET_Union_invalid_baseValidatorType
  +                , value1);
  +    }
   
       try
       {
  @@ -260,7 +268,9 @@
   
           if ( !memTypeValid ) 
           {
  -            ThrowXML1(InvalidDatatypeValueException, XMLExcepts::VALUE_NotIn_Enumeration, content);
  +            ThrowXML1(InvalidDatatypeValueException
  +                    , XMLExcepts::VALUE_no_match_memberType
  +                    , content);
               //( "Content '"+content+"' does not match any union types" );  
           }
       }
  
  
  
  1.2       +6 -5      xml-xerces/c/src/validators/datatype/ListDatatypeValidator.cpp
  
  Index: ListDatatypeValidator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/validators/datatype/ListDatatypeValidator.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ListDatatypeValidator.cpp	2001/07/11 21:37:17	1.1
  +++ ListDatatypeValidator.cpp	2001/08/14 22:11:56	1.2
  @@ -55,8 +55,11 @@
    */
   
   /*
  - * $Id: ListDatatypeValidator.cpp,v 1.1 2001/07/11 21:37:17 peiyongz Exp $
  + * $Id: ListDatatypeValidator.cpp,v 1.2 2001/08/14 22:11:56 peiyongz Exp $
    * $Log: ListDatatypeValidator.cpp,v $
  + * Revision 1.2  2001/08/14 22:11:56  peiyongz
  + * new exception message added
  + *
    * Revision 1.1  2001/07/11 21:37:17  peiyongz
    * ListDatatypeDTV
    *
  @@ -98,9 +101,7 @@
       // In either case, it shall be not null
       //
       if (!baseValidator)
  -        ThrowXML1(InvalidDatatypeFacetException, XMLExcepts::FACET_Invalid_Len, value1);
  -        //ThrowXML(InvalidDatatypeFacetException, XMLExcepts::FACET_List_Null_baseValidator);
  -        //"Not Null baseValidator required for ListDatatypeValidator
  +        ThrowXML(InvalidDatatypeFacetException, XMLExcepts::FACET_List_Null_baseValidator);
   
       try
       {
  
  
  
  1.2       +11 -5     xml-xerces/c/src/validators/datatype/QNameDatatypeValidator.cpp
  
  Index: QNameDatatypeValidator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/validators/datatype/QNameDatatypeValidator.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- QNameDatatypeValidator.cpp	2001/07/06 20:20:14	1.1
  +++ QNameDatatypeValidator.cpp	2001/08/14 22:11:56	1.2
  @@ -55,8 +55,11 @@
    */
   
   /*
  - * $Id: QNameDatatypeValidator.cpp,v 1.1 2001/07/06 20:20:14 peiyongz Exp $
  + * $Id: QNameDatatypeValidator.cpp,v 1.2 2001/08/14 22:11:56 peiyongz Exp $
    * $Log: QNameDatatypeValidator.cpp,v $
  + * Revision 1.2  2001/08/14 22:11:56  peiyongz
  + * new exception message added
  + *
    * Revision 1.1  2001/07/06 20:20:14  peiyongz
    * QNameDTV
    *
  @@ -566,9 +569,12 @@
       //
       // check 3.2.18.c0 must: QName
       //
  -    if (XMLString::isValidQName(content) == false)
  -        ThrowXML1(InvalidDatatypeValueException, XMLExcepts::VALUE_NotIn_Enumeration, content);
  -        //invalid QName
  +    if ( !XMLString::isValidQName(content))
  +    {
  +        ThrowXML1(InvalidDatatypeValueException
  +                , XMLExcepts::VALUE_QName_Invalid
  +                , content);
  +    }
           
   }
   
  
  
  
  1.2       +15 -17    xml-xerces/c/src/validators/datatype/NOTATIONDatatypeValidator.cpp
  
  Index: NOTATIONDatatypeValidator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/validators/datatype/NOTATIONDatatypeValidator.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- NOTATIONDatatypeValidator.cpp	2001/07/05 20:15:27	1.1
  +++ NOTATIONDatatypeValidator.cpp	2001/08/14 22:11:56	1.2
  @@ -55,8 +55,11 @@
    */
   
   /*
  - * $Id: NOTATIONDatatypeValidator.cpp,v 1.1 2001/07/05 20:15:27 peiyongz Exp $
  + * $Id: NOTATIONDatatypeValidator.cpp,v 1.2 2001/08/14 22:11:56 peiyongz Exp $
    * $Log: NOTATIONDatatypeValidator.cpp,v $
  + * Revision 1.2  2001/08/14 22:11:56  peiyongz
  + * new exception message added
  + *
    * Revision 1.1  2001/07/05 20:15:27  peiyongz
    * NOTATIONDatatypeValidator
    *
  @@ -564,21 +567,16 @@
               ThrowXML1(InvalidDatatypeValueException, XMLExcepts::VALUE_NotIn_Enumeration, content);
       }
   
  -    // REVISIT: do we need to check 3.2.19: "anyURI:NCName"?        
  -    /*
  -        try 
  -        {
  -            int posColon = content.lastIndexOf(':');
  -            if (posColon >= 0)
  -                fgURIValidator.validate(content.substring(0,posColon), null);
  -            fgStrValidator.validate(content.substring(posColon+1), null);
  -        } 
  -        catch (InvalidDatatypeValueException idve) 
  -        {
  -            ThrowXML1(InvalidDatatypeValueException, XMLExcepts::VALUE_NotIn_Enumeration, content);
  -            //("Value '"+content+"' is not a valid NOTATION");
  -        }
  -    */
  +    //
  +    // check 3.2.19: QName
  +    //
  +    if ( !XMLString::isValidQName(content))
  +    {
  +        ThrowXML1(InvalidDatatypeValueException
  +                , XMLExcepts::VALUE_NOTATION_Invalid
  +                , content);
  +    }
  +
   }
   
   /**
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org