tng         2003/01/09 14:33:32

  Modified:    c/src/xercesc/internal IGXMLScanner.cpp SGXMLScanner.cpp
  Log:
  [Bug 14955] error validating parser.
  
  Revision  Changes    Path
  1.4       +7 -1      xml-xerces/c/src/xercesc/internal/IGXMLScanner.cpp
  
  Index: IGXMLScanner.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/IGXMLScanner.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- IGXMLScanner.cpp  7 Jan 2003 15:43:47 -0000       1.3
  +++ IGXMLScanner.cpp  9 Jan 2003 22:33:32 -0000       1.4
  @@ -1012,6 +1012,9 @@
           // reset xsi:type ComplexTypeInfo
           if (fGrammarType == Grammar::SchemaGrammarType) {
               ((SchemaElementDecl*)topElem->fThisElement)->setXsiComplexTypeInfo(0);
  +            if (!isRoot)
  +                
((SchemaElementDecl*)(fElemStack.topElement()->fThisElement))->setXsiComplexTypeInfo(
  +                     ((SchemaValidator*)fValidator)->getCurrentTypeInfo());
   
               // call matchers and de-activate context
               int oldCount = fMatcherStack->getMatcherCount();
  @@ -2422,6 +2425,9 @@
   
                   // reset xsi:type ComplexTypeInfo
                   ((SchemaElementDecl*)elemDecl)->setXsiComplexTypeInfo(0);
  +                if (!isRoot)
  +                    
((SchemaElementDecl*)(fElemStack.topElement()->fThisElement))->setXsiComplexTypeInfo(
  +                         ((SchemaValidator*)fValidator)->getCurrentTypeInfo());
   
                   // call matchers and de-activate context
                   int oldCount = fMatcherStack->getMatcherCount();
  
  
  
  1.9       +7 -1      xml-xerces/c/src/xercesc/internal/SGXMLScanner.cpp
  
  Index: SGXMLScanner.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/SGXMLScanner.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- SGXMLScanner.cpp  7 Jan 2003 15:43:47 -0000       1.8
  +++ SGXMLScanner.cpp  9 Jan 2003 22:33:32 -0000       1.9
  @@ -958,6 +958,9 @@
   
           // reset xsi:type ComplexTypeInfo
           ((SchemaElementDecl*)topElem->fThisElement)->setXsiComplexTypeInfo(0);
  +        if (!isRoot)
  +            
((SchemaElementDecl*)(fElemStack.topElement()->fThisElement))->setXsiComplexTypeInfo(
  +                 ((SchemaValidator*)fValidator)->getCurrentTypeInfo());
   
           // call matchers and de-activate context
           int oldCount = fMatcherStack->getMatcherCount();
  @@ -1532,6 +1535,9 @@
   
               // reset xsi:type ComplexTypeInfo
               ((SchemaElementDecl*)elemDecl)->setXsiComplexTypeInfo(0);
  +            if (!isRoot)
  +                
((SchemaElementDecl*)(fElemStack.topElement()->fThisElement))->setXsiComplexTypeInfo(
  +                     ((SchemaValidator*)fValidator)->getCurrentTypeInfo());
   
               // call matchers and de-activate context
               int oldCount = fMatcherStack->getMatcherCount();
  
  
  

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

Reply via email to