peiyongz    2004/06/15 08:51:21

  Modified:    c/src/xercesc/internal XMLReader.cpp XMLReader.hpp
  Log:
  Compilation error on (AIX, Solaris) solved
  
  Revision  Changes    Path
  1.23      +1 -99     xml-xerces/c/src/xercesc/internal/XMLReader.cpp
  
  Index: XMLReader.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XMLReader.cpp,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- XMLReader.cpp     14 Jun 2004 15:18:52 -0000      1.22
  +++ XMLReader.cpp     15 Jun 2004 15:51:21 -0000      1.23
  @@ -66,7 +66,6 @@
   #include <xercesc/util/BinInputStream.hpp>
   #include <xercesc/util/PlatformUtils.hpp>
   #include <xercesc/util/RuntimeException.hpp>
  -#include <xercesc/util/TranscodingException.hpp>
   #include <xercesc/util/TransService.hpp>
   #include <xercesc/util/XMLEBCDICTranscoder.hpp>
   #include <xercesc/util/XMLString.hpp>
  @@ -1499,103 +1498,6 @@
       fRawBufIndex += bytesEaten;
   
       return charsDone;
  -}
  -
  -/***
  - *
  - * XML1.1
  - *
  - * 2.11 End-of-Line Handling
  - *
  - *    XML parsed entities are often stored in computer files which, for editing 
  - *    convenience, are organized into lines. These lines are typically separated 
  - *    by some combination of the characters CARRIAGE RETURN (#xD) and LINE FEED 
(#xA).
  - *
  - *    To simplify the tasks of applications, the XML processor MUST behave as if 
  - *    it normalized all line breaks in external parsed entities (including the 
document 
  - *    entity) on input, before parsing, by translating all of the following to a 
single 
  - *    #xA character:
  - *
  - *  1. the two-character sequence #xD #xA
  - *  2. the two-character sequence #xD #x85
  - *  3. the single character #x85
  - *  4. the single character #x2028
  - *  5. any #xD character that is not immediately followed by #xA or #x85.
  - *
  - *
  - ***/
  -inline void XMLReader::handleEOL(XMLCh& curCh, bool inDecl)
  -{
  -    // 1. the two-character sequence #xD #xA
  -    // 2. the two-character sequence #xD #x85
  -    // 5. any #xD character that is not immediately followed by #xA or #x85.
  -    if (curCh == chCR)
  -    {
  -        fCurCol = 1;
  -        fCurLine++;
  -
  -        //
  -        //  If not already internalized, then convert it to an
  -        //  LF and eat any following LF.
  -        //
  -        if (fSource == Source_External)
  -        {
  -            if ((fCharIndex < fCharsAvail) || refreshCharBuffer())
  -            {
  -                if ( fCharBuf[fCharIndex] == chLF              || 
  -                    ((fCharBuf[fCharIndex] == chNEL) && fNEL)  )
  -                {
  -                    fCharIndex++;
  -                }
  -            }
  -            curCh = chLF;
  -        }
  -    }
  -    else if (curCh == chLF)                   
  -    {
  -        fCurCol = 1;
  -        fCurLine++;
  -    }
  -    // 3. the single character #x85
  -    // 4. the single character #x2028
  -    else if (curCh == chNEL || curCh == chLineSeparator)
  -    {
  -        if (inDecl && fXMLVersion == XMLV1_1)
  -        {
  -
  -        /***
  -         * XML1.1
  -         *
  -         * 2.11 End-of-Line Handling
  -         *  ...
  -         *   The characters #x85 and #x2028 cannot be reliably recognized and 
translated 
  -         *   until an entity's encoding declaration (if present) has been read. 
  -         *   Therefore, it is a fatal error to use them within the XML declaration 
or 
  -         *   text declaration. 
  -         *
  -         ***/
  -            ThrowXMLwithMemMgr1
  -                (
  -                TranscodingException
  -                , XMLExcepts::Reader_NelLsepinDecl
  -                , fSystemId
  -                , fMemoryManager
  -                );
  -        }
  -
  -        if (fNEL && fSource == Source_External)
  -        {
  -            fCurCol = 1;
  -            fCurLine++;
  -            curCh = chLF;
  -        }
  -    }
  -    else
  -    {
  -        fCurCol++;
  -    }
  -
  -    return;
   }
   
   XERCES_CPP_NAMESPACE_END
  
  
  
  1.18      +100 -0    xml-xerces/c/src/xercesc/internal/XMLReader.hpp
  
  Index: XMLReader.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XMLReader.hpp,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- XMLReader.hpp     14 Jun 2004 15:18:53 -0000      1.17
  +++ XMLReader.hpp     15 Jun 2004 15:51:21 -0000      1.18
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.18  2004/06/15 15:51:21  peiyongz
  + * Compilation error on (AIX, Solaris) solved
  + *
    * Revision 1.17  2004/06/14 15:18:53  peiyongz
    * Consolidated End Of Line Handling
    *
  @@ -186,6 +189,7 @@
   #include <xercesc/util/XMLChar.hpp>
   #include <xercesc/framework/XMLRecognizer.hpp>
   #include <xercesc/framework/XMLBuffer.hpp>
  +#include <xercesc/util/TranscodingException.hpp>
   
   XERCES_CPP_NAMESPACE_BEGIN
   
  @@ -875,6 +879,102 @@
       return true;
   }
   
  +/***
  + *
  + * XML1.1
  + *
  + * 2.11 End-of-Line Handling
  + *
  + *    XML parsed entities are often stored in computer files which, for editing 
  + *    convenience, are organized into lines. These lines are typically separated 
  + *    by some combination of the characters CARRIAGE RETURN (#xD) and LINE FEED 
(#xA).
  + *
  + *    To simplify the tasks of applications, the XML processor MUST behave as if 
  + *    it normalized all line breaks in external parsed entities (including the 
document 
  + *    entity) on input, before parsing, by translating all of the following to a 
single 
  + *    #xA character:
  + *
  + *  1. the two-character sequence #xD #xA
  + *  2. the two-character sequence #xD #x85
  + *  3. the single character #x85
  + *  4. the single character #x2028
  + *  5. any #xD character that is not immediately followed by #xA or #x85.
  + *
  + *
  + ***/
  +inline void XMLReader::handleEOL(XMLCh& curCh, bool inDecl)
  +{
  +    // 1. the two-character sequence #xD #xA
  +    // 2. the two-character sequence #xD #x85
  +    // 5. any #xD character that is not immediately followed by #xA or #x85.
  +    if (curCh == chCR)
  +    {
  +        fCurCol = 1;
  +        fCurLine++;
  +
  +        //
  +        //  If not already internalized, then convert it to an
  +        //  LF and eat any following LF.
  +        //
  +        if (fSource == Source_External)
  +        {
  +            if ((fCharIndex < fCharsAvail) || refreshCharBuffer())
  +            {
  +                if ( fCharBuf[fCharIndex] == chLF              || 
  +                    ((fCharBuf[fCharIndex] == chNEL) && fNEL)  )
  +                {
  +                    fCharIndex++;
  +                }
  +            }
  +            curCh = chLF;
  +        }
  +    }
  +    else if (curCh == chLF)                   
  +    {
  +        fCurCol = 1;
  +        fCurLine++;
  +    }
  +    // 3. the single character #x85
  +    // 4. the single character #x2028
  +    else if (curCh == chNEL || curCh == chLineSeparator)
  +    {
  +        if (inDecl && fXMLVersion == XMLV1_1)
  +        {
  +
  +        /***
  +         * XML1.1
  +         *
  +         * 2.11 End-of-Line Handling
  +         *  ...
  +         *   The characters #x85 and #x2028 cannot be reliably recognized and 
translated 
  +         *   until an entity's encoding declaration (if present) has been read. 
  +         *   Therefore, it is a fatal error to use them within the XML declaration 
or 
  +         *   text declaration. 
  +         *
  +         ***/
  +            ThrowXMLwithMemMgr1
  +                (
  +                TranscodingException
  +                , XMLExcepts::Reader_NelLsepinDecl
  +                , fSystemId
  +                , fMemoryManager
  +                );
  +        }
  +
  +        if (fNEL && fSource == Source_External)
  +        {
  +            fCurCol = 1;
  +            fCurLine++;
  +            curCh = chLF;
  +        }
  +    }
  +    else
  +    {
  +        fCurCol++;
  +    }
  +
  +    return;
  +}
   
   XERCES_CPP_NAMESPACE_END
   
  
  
  

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

Reply via email to