ParserInternals.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    ParserInternals.h
00006  *
00007  *  ParserInternals.h,v 1.3 2003/07/19 19:04:10 dhinton Exp
00008  *
00009  *  @author Krishnakumar B <kitty@cs.wustl.edu>
00010  */
00011 //=============================================================================
00012 
00013 #ifndef _ACEXML_PARSER_INTERNALS_H_
00014 #define _ACEXML_PARSER_INTERNALS_H_
00015 
00016 #include /**/ "ace/pre.h"
00017 #include "ACEXML/parser/parser/Parser_export.h"
00018 
00019 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00020 #pragma once
00021 #endif /* ACE_LACKS_PRAGMA_ONCE */
00022 
00023 #include "ACEXML/common/XML_Types.h"
00024 
00025 /**
00026  * @class ACEXML_ParserInt ParserInternals.h "ACEXML/parser/parser/ParserInternals.h"
00027  *
00028  * @brief A class to hide some of the internal implementation details of
00029  *        the parser.
00030  *
00031  */
00032 class ACEXML_PARSER_Export ACEXML_ParserInt
00033 {
00034 
00035 public:
00036 #if defined (ACE_USES_WCHAR)
00037 
00038   /**
00039    * Check if a character @a c is a BaseChar. This method checks for the
00040    * complete set of characters allowed when WCHAR support is enabled.
00041    *
00042    * @retval 1 if @a c is a valid XML Character, 0 otherwise.
00043    */
00044   static int isBasechar_i (const ACEXML_Char c);
00045 
00046   /**
00047    * Check if a character @a c is a Ideographic. This method checks for the
00048    * complete set of characters allowed when WCHAR support is enabled.
00049    *
00050    * @retval 1 if @a c is a valid XML Character, 0 otherwise.
00051    */
00052   static int isIdeographic_i (const ACEXML_Char c);
00053 
00054   /**
00055    * Check if a character @a c is a CombiningChar. This method checks for the
00056    * complete set of characters allowed when WCHAR support is enabled.
00057    *
00058    * @retval 1 if @a c is a valid XML Character, 0 otherwise.
00059    */
00060   static int isCombiningchar_i (const ACEXML_Char c);
00061 
00062   /**
00063    * Check if a character @a c is a Digit. This method checks for the
00064    * complete set of characters allowed when WCHAR support is enabled.
00065    *
00066    * @retval 1 if @a c is a valid XML Character, 0 otherwise.
00067    */
00068   static int isDigit_i (const ACEXML_Char c);
00069 
00070   /**
00071    * Check if a character @a c is an Extender. This method checks for the
00072    * complete set of characters allowed when WCHAR support is enabled.
00073    *
00074    * @retval 1 if @a c is a valid XML Character, 0 otherwise.
00075    */
00076   static int isExtender_i (const ACEXML_Char c);
00077 
00078 #endif /* ACE_USES_WCHAR */
00079 
00080   static const ACEXML_Char base_char_table_[256];
00081 
00082   static const ACEXML_Char* msg_[];
00083 
00084   static const ACEXML_Char* predef_ent_[];
00085 
00086   static const ACEXML_Char* predef_val_[];
00087 
00088   // Enum describing the position in a document when a reference occurs.
00089   enum ReferenceState {
00090     IN_CONTENT,
00091     IN_ATT_VALUE,
00092     AS_ATT_VALUE,
00093     IN_ENTITY_VALUE,
00094     IN_INT_DTD,
00095     IN_EXT_DTD,
00096     IN_NOTATION,
00097     INVALID = -1
00098   };
00099 
00100 };
00101 
00102 #include /**/ "ace/post.h"
00103 
00104 #endif /* _ACEXML_PARSER_INTERNALS_H_ */

Generated on Thu Nov 9 11:45:38 2006 for ACEXML by doxygen 1.3.6