knoaman     2002/12/09 11:47:34

  Modified:    c/src/xercesc/NLS/EN_US XMLErrList_EN_US.Xml
               c/src/xercesc/framework XMLErrorCodes.hpp
               c/src/xercesc/util/MsgLoaders/InMemory CppErrMsgs_EN_US.hpp
               c/src/xercesc/util/MsgLoaders/MsgCatalog XMLMsgCat_EN_US.Msg
               c/src/xercesc/util/Platforms/Win32 Version.rc
               c/src/xercesc/validators/schema TraverseSchema.cpp
  Log:
  Schema errata E1-27.
  
  Revision  Changes    Path
  1.18      +1 -0      xml-xerces/c/src/xercesc/NLS/EN_US/XMLErrList_EN_US.Xml
  
  Index: XMLErrList_EN_US.Xml
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/NLS/EN_US/XMLErrList_EN_US.Xml,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- XMLErrList_EN_US.Xml      6 Dec 2002 16:36:10 -0000       1.17
  +++ XMLErrList_EN_US.Xml      9 Dec 2002 19:47:33 -0000       1.18
  @@ -304,6 +304,7 @@
               <Message Id="PrefixXMLNotMatchXMLURI" Text="The prefix 'xml' cannot be 
bound to any namespace other than its usual namespace."/>
               <Message Id="XMLURINotMatchXMLPrefix" Text="The namespace for 'xml' 
cannot be bound to any prefix other than 'xml'."/>
               <Message Id="NoXMLNSAsElementPrefix" Text="Element '{0}' cannot have 
'xmlns' as its prefix."/>
  +            <Message Id="CT_SimpleTypeChildRequired" Text="Complex Type Definition 
Representation OK - 2.2: &lt;restriction&gt; must have a &lt;simpleType&gt; child."/>
           </FatalError>
       </MsgDomain>
       <MsgDomain Domain="http://apache.org/xml/messages/XMLValidity";>
  
  
  
  1.10      +3 -1      xml-xerces/c/src/xercesc/framework/XMLErrorCodes.hpp
  
  Index: XMLErrorCodes.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/XMLErrorCodes.hpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- XMLErrorCodes.hpp 4 Dec 2002 02:32:43 -0000       1.9
  +++ XMLErrorCodes.hpp 9 Dec 2002 19:47:33 -0000       1.10
  @@ -4,6 +4,7 @@
   #define ERRHEADER_XMLErrs
   
   #include <xercesc/framework/XMLErrorReporter.hpp>
  +#include <xercesc/util/XercesDefs.hpp>
   
   XERCES_CPP_NAMESPACE_BEGIN
   
  @@ -310,7 +311,8 @@
         , PrefixXMLNotMatchXMLURI            = 295
         , XMLURINotMatchXMLPrefix            = 296
         , NoXMLNSAsElementPrefix             = 297
  -      , F_HighBounds                       = 298
  +      , CT_SimpleTypeChildRequired         = 298
  +      , F_HighBounds                       = 299
       };
   
       static bool isFatal(const XMLErrs::Codes toCheck)
  
  
  
  1.20      +4 -1      
xml-xerces/c/src/xercesc/util/MsgLoaders/InMemory/CppErrMsgs_EN_US.hpp
  
  Index: CppErrMsgs_EN_US.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/MsgLoaders/InMemory/CppErrMsgs_EN_US.hpp,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- CppErrMsgs_EN_US.hpp      6 Dec 2002 16:37:01 -0000       1.19
  +++ CppErrMsgs_EN_US.hpp      9 Dec 2002 19:47:33 -0000       1.20
  @@ -643,10 +643,13 @@
         0x002E,0x00 }
     , { 
0x0045,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0063,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x0068,0x0061,0x0076,0x0065,0x0020,0x0027,0x0078,0x006D,0x006C,0x006E,0x0073,0x0027,0x0020,0x0061,
         
0x0073,0x0020,0x0069,0x0074,0x0073,0x0020,0x0070,0x0072,0x0065,0x0066,0x0069,0x0078,0x002E,0x00
 }
  +  , { 
0x0043,0x006F,0x006D,0x0070,0x006C,0x0065,0x0078,0x0020,0x0054,0x0079,0x0070,0x0065,0x0020,0x0044,0x0065,0x0066,0x0069,0x006E,0x0069,0x0074,0x0069,0x006F,0x006E,0x0020,0x0052,0x0065,0x0070,0x0072,0x0065,0x0073,0x0065,0x006E,0x0074,0x0061,0x0074,
  +      
0x0069,0x006F,0x006E,0x0020,0x004F,0x004B,0x0020,0x002D,0x0020,0x0032,0x002E,0x0032,0x003A,0x0020,0x003C,0x0072,0x0065,0x0073,0x0074,0x0072,0x0069,0x0063,0x0074,0x0069,0x006F,0x006E,0x003E,0x0020,0x006D,0x0075,0x0073,0x0074,0x0020,0x0068,0x0061,
  +      
0x0076,0x0065,0x0020,0x0061,0x0020,0x003C,0x0073,0x0069,0x006D,0x0070,0x006C,0x0065,0x0054,0x0079,0x0070,0x0065,0x003E,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x002E,0x00
 }
     , { 0x0046,0x005F,0x0045,0x006E,0x0064,0x00 }
   
   };
  -const unsigned int gXMLErrArraySize = 299;
  +const unsigned int gXMLErrArraySize = 300;
   
   const XMLCh gXMLValidityArray[][128] = 
   {
  
  
  
  1.19      +1 -0      
xml-xerces/c/src/xercesc/util/MsgLoaders/MsgCatalog/XMLMsgCat_EN_US.Msg
  
  Index: XMLMsgCat_EN_US.Msg
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/util/MsgLoaders/MsgCatalog/XMLMsgCat_EN_US.Msg,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- XMLMsgCat_EN_US.Msg       6 Dec 2002 16:37:27 -0000       1.18
  +++ XMLMsgCat_EN_US.Msg       9 Dec 2002 19:47:33 -0000       1.19
  @@ -292,6 +292,7 @@
   295  The prefix 'xml' cannot be bound to any namespace other than its usual 
namespace.
   296  The namespace for 'xml' cannot be bound to any prefix other than 'xml'.
   297  Element '{0}' cannot have 'xmlns' as its prefix.
  +298  Complex Type Definition Representation OK - 2.2: <restriction> must have a 
<simpleType> child.
   
   
   $set 2
  
  
  
  1.22      +1 -0      xml-xerces/c/src/xercesc/util/Platforms/Win32/Version.rc
  
  Index: Version.rc
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/Platforms/Win32/Version.rc,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- Version.rc        6 Dec 2002 16:37:42 -0000       1.21
  +++ Version.rc        9 Dec 2002 19:47:33 -0000       1.22
  @@ -394,6 +394,7 @@
       295               
L"\x0054\x0068\x0065\x0020\x0070\x0072\x0065\x0066\x0069\x0078\x0020\x0027\x0078\x006D\x006C\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0062\x006F\x0075\x006E\x0064\x0020\x0074\x006F\x0020\x0061\x006E\x0079\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x006F\x0074\x0068\x0065\x0072\x0020\x0074\x0068\x0061\x006E\x0020\x0069\x0074\x0073\x0020\x0075\x0073\x0075\x0061\x006C\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x002E\x00"
       296               
L"\x0054\x0068\x0065\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x0066\x006F\x0072\x0020\x0027\x0078\x006D\x006C\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0062\x006F\x0075\x006E\x0064\x0020\x0074\x006F\x0020\x0061\x006E\x0079\x0020\x0070\x0072\x0065\x0066\x0069\x0078\x0020\x006F\x0074\x0068\x0065\x0072\x0020\x0074\x0068\x0061\x006E\x0020\x0027\x0078\x006D\x006C\x0027\x002E\x00"
       297               
L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0027\x0078\x006D\x006C\x006E\x0073\x0027\x0020\x0061\x0073\x0020\x0069\x0074\x0073\x0020\x0070\x0072\x0065\x0066\x0069\x0078\x002E\x00"
  +    298               
L"\x0043\x006F\x006D\x0070\x006C\x0065\x0078\x0020\x0054\x0079\x0070\x0065\x0020\x0044\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x0020\x0052\x0065\x0070\x0072\x0065\x0073\x0065\x006E\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x004F\x004B\x0020\x002D\x0020\x0032\x002E\x0032\x003A\x0020\x003C\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x003E\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x003C\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x003E\x0020\x0063\x0068\x0069\x006C\x0064\x002E\x00"
   END
   STRINGTABLE DISCARDABLE
   BEGIN
  
  
  
  1.36      +30 -3     xml-xerces/c/src/xercesc/validators/schema/TraverseSchema.cpp
  
  Index: TraverseSchema.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/TraverseSchema.cpp,v
  retrieving revision 1.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- TraverseSchema.cpp        4 Dec 2002 02:32:43 -0000       1.35
  +++ TraverseSchema.cpp        9 Dec 2002 19:47:33 -0000       1.36
  @@ -3197,12 +3197,23 @@
       // check that the base isn't a complex type with complex content
       // and that derivation method is not included in 'final'
       ComplexTypeInfo* baseTypeInfo = typeInfo->getBaseComplexTypeInfo();
  +    bool simpleTypeRequired = false;
   
       if (baseTypeInfo) {
   
           if (baseTypeInfo->getContentType() != SchemaElementDecl::Simple) {
  -            reportSchemaError(simpleContent, XMLUni::fgXMLErrDomain, 
XMLErrs::InvalidSimpleContentBase, baseName);
  -            throw TraverseSchema::InvalidComplexTypeInfo;
  +
  +            // Schema Errata: E1-27
  +            if (typeInfo->getDerivedBy() == SchemaSymbols::RESTRICTION
  +                && ((baseTypeInfo->getContentType() == 
SchemaElementDecl::Mixed_Simple
  +                    || baseTypeInfo->getContentType() == 
SchemaElementDecl::Mixed_Complex)
  +                    && emptiableParticle(baseTypeInfo->getContentSpec()))) {
  +                simpleTypeRequired = true;
  +            }
  +            else {
  +                reportSchemaError(simpleContent, XMLUni::fgXMLErrDomain, 
XMLErrs::InvalidSimpleContentBase, baseName);
  +                throw TraverseSchema::InvalidComplexTypeInfo;
  +            }
           }
   
           if ((baseTypeInfo->getFinalSet() & typeInfo->getDerivedBy()) != 0) {
  @@ -3259,6 +3270,13 @@
                       throw TraverseSchema::InvalidComplexTypeInfo;
                   }
               }
  +            // Schema Errata E1-27
  +            // Complex Type Definition Restriction OK: 2.2
  +            else if (simpleTypeRequired) {
  +
  +                reportSchemaError(content, XMLUni::fgXMLErrDomain, 
XMLErrs::CT_SimpleTypeChildRequired);
  +                throw TraverseSchema::InvalidComplexTypeInfo;
  +            }
   
               // ---------------------------------------------------------------
               // Build up the facet info
  @@ -3378,6 +3396,15 @@
               }
           }
           else {
  +
  +            // Schema Errata E1-27
  +            // Complex Type Definition Restriction OK: 2.2
  +            if (simpleTypeRequired) {
  +
  +                reportSchemaError(content, XMLUni::fgXMLErrDomain, 
XMLErrs::CT_SimpleTypeChildRequired);
  +                throw TraverseSchema::InvalidComplexTypeInfo;
  +            }
  +
               typeInfo->setDatatypeValidator(typeInfo->getBaseDatatypeValidator());
           }
       } // end RESTRICTION
  
  
  

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

Reply via email to