ComSDK
 Указатель Классы Пространства имен Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Группы Страницы
saxxdbtreader.h
1 //===========================================================================
2 #ifndef comfrm_SAXXDBTReaderH
3 #define comfrm_SAXXDBTReaderH
4 //===========================================================================
5 // Заготовка модуля SAXXDBTReader была сгенерирована CASE средством разработки SA2-DE.
6 // Все права защищены. (2012)
7 //
8 // В данном файле представлен исходный текст основного заголовочного файла модуля.
9 //
10 // ======================================= //
11 // Параметры новой разработки.
12 // ======================================= //
13 // Имя комплекса: GCAD (gcd)
14 // Имя решения: GCDDB (dbs) (прочерк если модуль относится лишь к комплексу)
15 // Имя проекта: NotDefined (non) (прочерк если модуль относится лишь к решению)
16 // Полный SID: gcddbsnon
17 // Время создания: 19:46:19
18 // Дата создания: 06.09.2012
19 // ======================================= //
20 // ============================================================================================ //
21 // Параметры ревизии(версии):
22 // ============================================================================================ //
23 // [prd]Period: 9/2012
24 // [aut]Author: Соколов А.П.
25 // [did]DeveloperID: sa
26 // [pid]ProblemID: 00001
27 // [rvs = did.date.pid]Revision: //#sa.06.09.2012.00001
28 // [dsc]Description: Класс для чтения данных из формата XDBT в SqlTable
29 // [ccm]CodeComment: rvs.{[s]Start | [e]End | []}{[n]New | [o]Old | [d]Develop}
30 // ============================================================================================ //
31 // [prd]Period: 08/2014
32 // [aut]Author: Макаренков В. М.
33 // [did]DeveloperID: mv
34 // [pid]ProblemID: 00003
35 // [rvs = did.date.pid]Revision:
36 // [dsc]Description: Добавление парсинга новых параметров в XDBT-файле
37 // [ccm]CodeComment: rvs.{[s]Start | [e]End | []}{[n]New | [o]Old | [d]Develop}
38 // ============================================================================================ //
39 
40 //========================================================================
41 // ДОПОЛНИТЕЛЬНЫЕ ПОДКЛЮЧЕНИЯ (Типы и модули, необходимые для .h - файла)
42 //------------------------------------------------------------------------
43 #include "sqltable.h"
44 
45 #include <xercesc/sax2/DefaultHandler.hpp>
46 #include <xercesc/sax2/ContentHandler.hpp>
47 #include <xercesc/util/XMLChar.hpp>
48 #include <xercesc/util/XMLString.hpp>
49 #include <xercesc/sax2/Attributes.hpp>
50 
51 #include <list>
52 #include <string>
53 //========================================================================
54 // Класс SAXXDBTReader. Парсер XML документов.
55 namespace com {
56  namespace sql {
57  class SAXXDBTReader : public xercesc::DefaultHandler
58  {
59  public:
60  // конструктуор
61  SAXXDBTReader(SqlTable& p_SQLTable);
62  // деструктор
63  ~SAXXDBTReader();
64 
65  // обработка событий парсера XML:
66  void startElement(
67  const XMLCh* const uri,
68  const XMLCh* const localname,
69  const XMLCh* const qname,
70  const xercesc::Attributes& attrs
71  );
72 
73  void fatalError(const xercesc::SAXParseException& v_exception);
74 
75  private:
76  std::string toString(const XMLCh* const p_xml_str)const;
77  int toInt(const XMLCh* const p_xml_str)const; //#mv.04.08.2014.00003.n
78 
79  private:
80  // <TABLE>
81  XMLCh *mATTR_TableName;
82  XMLCh *mATTR_TableDescr;
83 
84  // <TABLE_ATTRIBUTE>
85  XMLCh *mATTR_AttrType;
86  XMLCh *mATTR_AttrDescr;
87  XMLCh *mATTR_AttrDomain; //#mv.04.08.2014.00003.n
88  XMLCh *mATTR_AttrLength; //#mv.04.08.2014.00003.n
89 
90  // <ATTRIBUTE>
91  XMLCh *mATTR_AttrValue;
92 
93  // <TABLE_ATTRIBUTE> и <ATTRIBUTE> и <PRIMARY_ATTR>
94  XMLCh *mATTR_AttrName;
95 
96  // tags
97  XMLCh *mTAGTable;
98  XMLCh *mTAGTableAttributes;
99  XMLCh *mTAGTableAttribute;
100  XMLCh *mTAGTableRow;
101  XMLCh *mTAGAttribute;
102  XMLCh *mTAGPRIMARY_ATTR;
103 
104  // container
105  SqlTable& mSQLTable;
106  };
107  }
108 }
109 
110 //===========================================================================
111 #endif
112 //===========================================================================
Модель SQL-таблицы
Definition: sqltable.h:132
Definition: saxxdbtreader.h:57