00001 #if !defined(_DBOBJDEFINITION_HPP) 00002 #define _DBOBJDEFINITION_HPP 00003 //============================================================================= 00004 // 00005 // XDFLengine library 00006 // 00007 //----------------------------------------------------------------------------- 00008 // DBOBJDEFINITION.HPP 00009 //----------------------------------------------------------------------------- 00015 //_____________________________________________________________________________ 00016 // 00017 // Copyright (C) 2003 Guillaume Baurand. All Rights Reserved. 00018 // 00019 // This file is part of the XDFLengine project. 00020 // 00021 // The XDFLengine is free software; you can redistribute it and/or modify 00022 // it under the terms of the GNU General Public License as published by 00023 // the Free Software Foundation; either version 2 of the License, or 00024 // (at your option) any later version. 00025 // 00026 // This program is distributed in the hope that it will be useful, 00027 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00028 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00029 // GNU General Public License for more details. 00030 // 00031 // You should have received a copy of the GNU General Public License 00032 // along with this program; if not, write to the Free Software 00033 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 00034 // USA. 00035 // 00036 // For more information, 00037 // contact : guillaume@baurand.net 00038 // or visit : http://xdflengine.sourceforge.net 00039 // 00040 //============================================================================= 00041 00042 # include "config/commonincs.hpp" 00043 # include "processor/xmlflowcontext.hpp" 00044 # include "flow/buffers/xmlbuffers.hpp" 00045 00046 BEGIN_XDFLENGINE_NS 00047 00048 class DBOBJDefinitionField; 00049 class DBOBJDefinitionNode; 00050 00051 typedef struct _DBOBJDefinitionFieldsPair 00052 { 00053 DBOBJDefinitionField* first; 00054 DBOBJDefinitionField* second; 00055 } DBOBJDefinitionFieldsPair; 00056 00057 00058 00059 //============================================================================= 00060 // CLASS DBOBJDEFINITION 00061 //----------------------------------------------------------------------------- 00063 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00064 class XDFLENGINE_EXPORT DBOBJDefinition 00065 { 00066 }; 00067 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00068 //============================================================================= 00069 00070 00071 00072 //============================================================================= 00073 // CLASS DBOBJDEFINITIONFIELD 00074 //----------------------------------------------------------------------------- 00076 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00077 class XDFLENGINE_EXPORT DBOBJDefinitionField : public DBOBJDefinition 00078 { 00079 00080 private: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00081 00082 char* m_pszName; 00083 char* m_pszDBField; 00084 char* m_pszDBAlias; 00085 char* m_pszMap; 00086 char* m_pszIValue; 00087 char* m_pszUValue; 00088 char* m_pszDValue; 00089 char* m_pszValue; 00090 char* m_pszDateFormat; 00091 char* m_pszDBSpecProps; 00092 bool m_boolHidden; 00093 bool m_boolIsPkey; 00094 bool m_boolAttribute; 00095 DBOBJDefinitionNode* m_DBOBJParentNode; 00096 00097 00098 public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00099 00100 // CONSTRUCTOR & DESTRUCTOR 00101 00102 //_____________________________________________________________________ 00103 // ~DBOBJECTNODE 00104 //--------------------------------------------------------------------- 00107 //_____________________________________________________________________ 00108 DBOBJDefinitionField(); 00109 00110 00111 //_____________________________________________________________________ 00112 // ~DBOBJECTNODE 00113 //--------------------------------------------------------------------- 00116 //_____________________________________________________________________ 00117 ~DBOBJDefinitionField(); 00118 00119 // GETTERS 00120 00121 //_____________________________________________________________________ 00122 // GETNAME 00123 //--------------------------------------------------------------------- 00126 //_____________________________________________________________________ 00127 const char* getName() const; 00128 00129 //_____________________________________________________________________ 00130 // GETDBFIELD 00131 //--------------------------------------------------------------------- 00134 //_____________________________________________________________________ 00135 const char* getDBField() const; 00136 00137 //_____________________________________________________________________ 00138 // GETDBALIAS 00139 //--------------------------------------------------------------------- 00142 //_____________________________________________________________________ 00143 const char* getDBAlias() const; 00144 00145 //_____________________________________________________________________ 00146 // GETMAP 00147 //--------------------------------------------------------------------- 00150 //_____________________________________________________________________ 00151 const char* getMap() const; 00152 00153 //_____________________________________________________________________ 00154 // GETIVALUE 00155 //--------------------------------------------------------------------- 00159 //_____________________________________________________________________ 00160 const char* getIValue() const; 00161 00162 //_____________________________________________________________________ 00163 // GETUVALUE 00164 //--------------------------------------------------------------------- 00168 //_____________________________________________________________________ 00169 const char* getUValue() const; 00170 00171 //_____________________________________________________________________ 00172 // GETDVALUE 00173 //--------------------------------------------------------------------- 00177 //_____________________________________________________________________ 00178 const char* getDValue() const; 00179 00180 //_____________________________________________________________________ 00181 // GETVALUE 00182 //--------------------------------------------------------------------- 00186 //_____________________________________________________________________ 00187 const char* getValue() const; 00188 00189 //_____________________________________________________________________ 00190 // GETDATEFORMAT 00191 //--------------------------------------------------------------------- 00194 //_____________________________________________________________________ 00195 const char* getDateFormat() const; 00196 00197 //_____________________________________________________________________ 00198 // GETDBSPECPROPS 00199 //--------------------------------------------------------------------- 00205 //_____________________________________________________________________ 00206 const char* getDBSpecProps() const; 00207 00208 //_____________________________________________________________________ 00209 // ISATTRIBUTE 00210 //--------------------------------------------------------------------- 00213 //_____________________________________________________________________ 00214 bool isAttribute() const; 00215 00216 //_____________________________________________________________________ 00217 // ISHIDDEN 00218 //--------------------------------------------------------------------- 00221 //_____________________________________________________________________ 00222 bool isHidden() const; 00223 00224 //_____________________________________________________________________ 00225 // ISPKEY 00226 //--------------------------------------------------------------------- 00229 //_____________________________________________________________________ 00230 bool isPkey() const; 00231 00232 //_____________________________________________________________________ 00233 // GETPARENT 00234 //--------------------------------------------------------------------- 00237 //_____________________________________________________________________ 00238 DBOBJDefinitionNode* getParent() const; 00239 00240 00241 // SETTERS 00242 00243 //_____________________________________________________________________ 00244 // SETNAME 00245 //--------------------------------------------------------------------- 00248 //_____________________________________________________________________ 00249 void setName ( const char* p_szName); 00250 00251 //_____________________________________________________________________ 00252 // SETDBFIELD 00253 //--------------------------------------------------------------------- 00256 //_____________________________________________________________________ 00257 void setDBField ( const char* p_szDBField); 00258 00259 //_____________________________________________________________________ 00260 // SETDBALIAS 00261 //--------------------------------------------------------------------- 00264 //_____________________________________________________________________ 00265 void setDBAlias ( const char* p_szDBAlias); 00266 00267 //_____________________________________________________________________ 00268 // SETMAP 00269 //--------------------------------------------------------------------- 00272 //_____________________________________________________________________ 00273 void setMap ( const char* p_szMap); 00274 00275 //_____________________________________________________________________ 00276 // SETIVALUE 00277 //--------------------------------------------------------------------- 00280 //_____________________________________________________________________ 00281 void setIValue ( const char* p_szIValue); 00282 00283 //_____________________________________________________________________ 00284 // SETUVALUE 00285 //--------------------------------------------------------------------- 00288 //_____________________________________________________________________ 00289 void setUValue ( const char* p_szUValue); 00290 00291 //_____________________________________________________________________ 00292 // SETDVALUE 00293 //--------------------------------------------------------------------- 00296 //_____________________________________________________________________ 00297 void setDValue ( const char* p_szDValue); 00298 00299 //_____________________________________________________________________ 00300 // SETVALUE 00301 //--------------------------------------------------------------------- 00304 //_____________________________________________________________________ 00305 void setValue ( const char* p_szValue); 00306 00307 //_____________________________________________________________________ 00308 // SETVALUE 00309 //--------------------------------------------------------------------- 00312 //_____________________________________________________________________ 00313 void setDateFormat ( const char* p_szDateFormat); 00314 00315 //_____________________________________________________________________ 00316 // SETDBSPECPROPS 00317 //--------------------------------------------------------------------- 00321 //_____________________________________________________________________ 00322 void setDBSpecProps ( const char* p_szDBSpecProps); 00323 00324 //_____________________________________________________________________ 00325 // SETATTRIBUTE 00326 //--------------------------------------------------------------------- 00329 //_____________________________________________________________________ 00330 void setAttribute ( bool p_boolAttribute); 00331 00332 //_____________________________________________________________________ 00333 // SETHIDDEN 00334 //--------------------------------------------------------------------- 00337 //_____________________________________________________________________ 00338 void setHidden ( bool p_boolHidden); 00339 00340 //_____________________________________________________________________ 00341 // SETPKEY 00342 //--------------------------------------------------------------------- 00345 //_____________________________________________________________________ 00346 void setPkey ( bool p_boolPkey); 00347 00348 //_____________________________________________________________________ 00349 // SETPARENT 00350 //--------------------------------------------------------------------- 00353 //_____________________________________________________________________ 00354 void setParent ( DBOBJDefinitionNode* p_pParentDefinition); 00355 00356 // FUNCTIONNALITIES 00357 00358 //_____________________________________________________________________ 00359 // getXML 00360 //--------------------------------------------------------------------- 00363 //_____________________________________________________________________ 00364 void getXML (XMLStreamConsumer* p_pXMLBufOut); 00365 }; 00366 //============================================================================= 00367 00368 00369 00370 00371 00372 //============================================================================= 00373 // CLASS DBOBJDEFINITIONNODE 00374 //----------------------------------------------------------------------------- 00376 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00377 class XDFLENGINE_EXPORT DBOBJDefinitionNode : public DBOBJDefinition 00378 { 00379 00380 private: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00381 00382 VAarray<DBOBJDefinitionNode*> m_vaChildren; 00383 VAarray<DBOBJDefinitionField* > m_vaFields; 00384 VAarray<DBOBJDefinitionField* > m_vaPkeys; 00385 VAarray<DBOBJDefinitionFieldsPair*> m_vaKeyLinks; 00386 DBOBJDefinitionNode* m_DBOBJParentNode; 00387 char* m_pszName; 00388 char* m_pszDBTable; 00389 char* m_pszRestrict; 00390 char* m_pszCheckPre; 00391 char* m_pszCheckPost; 00392 char* m_pszOnInsert; 00393 char* m_pszOnUpdate; 00394 char* m_pszOnDelete; 00395 bool m_boolLocked; 00396 bool m_boolDistinct; 00397 00398 00399 public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00400 00401 // CONSTRUCTOR & DESTRUCTOR 00402 //_____________________________________________________________________ 00403 // DBOBJDEFINITIONNODE 00404 //--------------------------------------------------------------------- 00407 //_____________________________________________________________________ 00408 DBOBJDefinitionNode(); 00409 00410 //_____________________________________________________________________ 00411 // ~DBOBJDEFINITIONNODE 00412 //--------------------------------------------------------------------- 00415 //_____________________________________________________________________ 00416 ~DBOBJDefinitionNode(); 00417 00418 00419 // GETTERS 00420 00421 //_____________________________________________________________________ 00422 // GETNAME 00423 //--------------------------------------------------------------------- 00425 // 00427 //_____________________________________________________________________ 00428 const char* getName() const; 00429 00430 //_____________________________________________________________________ 00431 // GETDBTABLE 00432 //--------------------------------------------------------------------- 00435 //_____________________________________________________________________ 00436 const char* getDBTable() const; 00437 00438 //_____________________________________________________________________ 00439 // GETRESTRICT 00440 //--------------------------------------------------------------------- 00443 //_____________________________________________________________________ 00444 const char* getRestrict() const; 00445 00446 00447 //_____________________________________________________________________ 00448 // GETCHECKPRE 00449 //--------------------------------------------------------------------- 00452 //_____________________________________________________________________ 00453 const char* getCheckPre() const; 00454 00455 //_____________________________________________________________________ 00456 // GETCHECKPOST 00457 //--------------------------------------------------------------------- 00460 //_____________________________________________________________________ 00461 const char* getCheckPost() const; 00462 00463 //_____________________________________________________________________ 00464 // ISLOCKED 00465 //--------------------------------------------------------------------- 00468 //_____________________________________________________________________ 00469 bool isLocked() const; 00470 00471 //_____________________________________________________________________ 00472 // ISDISTINCT 00473 //--------------------------------------------------------------------- 00476 //_____________________________________________________________________ 00477 bool isDistinct() const; 00478 00479 //_____________________________________________________________________ 00480 // GETPARENT 00481 //--------------------------------------------------------------------- 00484 //_____________________________________________________________________ 00485 DBOBJDefinitionNode* getParent() const; 00486 00487 // Setters 00488 00489 //_____________________________________________________________________ 00490 // SETNAME 00491 //--------------------------------------------------------------------- 00494 //_____________________________________________________________________ 00495 void setName( const char* p_szName); 00496 00497 //_____________________________________________________________________ 00498 // SETDBTABLE 00499 //--------------------------------------------------------------------- 00502 //_____________________________________________________________________ 00503 void setDBtable( const char* p_szDBTable); 00504 00505 //_____________________________________________________________________ 00506 // SETRESTRICT 00507 //--------------------------------------------------------------------- 00510 //_____________________________________________________________________ 00511 void setRestrict( const char* p_szRestrict); 00512 00513 //_____________________________________________________________________ 00514 // SETCHECKPRE 00515 //--------------------------------------------------------------------- 00518 //_____________________________________________________________________ 00519 void setCheckPre( const char* p_szCheckPre); 00520 00521 //_____________________________________________________________________ 00522 // SETCHECKPOST 00523 //--------------------------------------------------------------------- 00526 //_____________________________________________________________________ 00527 void setCheckPost( const char* p_szCheckPost); 00528 00529 //_____________________________________________________________________ 00530 // SETLOCKED 00531 //--------------------------------------------------------------------- 00534 //_____________________________________________________________________ 00535 void setLocked( bool p_boolLocked); 00536 00537 //_____________________________________________________________________ 00538 // SETDISTINCT 00539 //--------------------------------------------------------------------- 00542 //_____________________________________________________________________ 00543 void setDistinct( bool p_boolDistinct); 00544 00545 //_____________________________________________________________________ 00546 // SETPARENT 00547 //--------------------------------------------------------------------- 00550 //_____________________________________________________________________ 00551 void setParent( DBOBJDefinitionNode* p_pParentDefinition); 00552 00553 // EVENTS 00554 00555 //_____________________________________________________________________ 00556 // GETONDELETE 00557 //--------------------------------------------------------------------- 00558 const char* getOnDelete() const ; 00559 00560 //_____________________________________________________________________ 00561 // GETONINSERT 00562 //--------------------------------------------------------------------- 00563 const char* getOnInsert() const ; 00564 00565 //_____________________________________________________________________ 00566 // GETONUPDATE 00567 //--------------------------------------------------------------------- 00568 const char* getOnUpdate() const ; 00569 00570 //_____________________________________________________________________ 00571 // SETONDELETE 00572 //--------------------------------------------------------------------- 00573 void setOnDelete( const char* p_pszOnDelete); 00574 00575 //_____________________________________________________________________ 00576 // SETONINSERT 00577 //--------------------------------------------------------------------- 00578 void setOnInsert( const char* p_pszOnInsert); 00579 00580 //_____________________________________________________________________ 00581 // SETONUPDATE 00582 //--------------------------------------------------------------------- 00583 void setOnUpdate( const char* p_pszOnUpdate); 00584 00585 00586 // CHILDREN COLLECTION ACCESSORS & BUILDERS 00587 00588 //_____________________________________________________________________ 00589 // ADDCHILD 00590 //--------------------------------------------------------------------- 00593 //_____________________________________________________________________ 00594 void addChild( DBOBJDefinitionNode* p_ChildDefinition); 00595 00596 //_____________________________________________________________________ 00597 // REMOVECHILD 00598 //----------------------------------------------.----------------------- 00602 //_____________________________________________________________________ 00603 void removeChild( unsigned int p_uiIndex, bool p_boolDestroy=true); 00604 00605 //_____________________________________________________________________ 00606 // REMOVECHILD 00607 //--------------------------------------------------------------------- 00611 //_____________________________________________________________________ 00612 void removeChild( const char* p_szName, bool p_boolDestroy=true); 00613 00614 //_____________________________________________________________________ 00615 // GETCHILDNODESCOUNT 00616 //--------------------------------------------------------------------- 00619 //_____________________________________________________________________ 00620 unsigned int getChildNodesCount() const; 00621 00622 //_____________________________________________________________________ 00623 // GETCHILDNODE 00624 //--------------------------------------------------------------------- 00628 //_____________________________________________________________________ 00629 DBOBJDefinitionNode* getChildNode( unsigned int p_uiIndex) const; 00630 00631 //_____________________________________________________________________ 00632 // GETCHILDNODE 00633 //--------------------------------------------------------------------- 00637 //_____________________________________________________________________ 00638 DBOBJDefinitionNode* getChildNode( const char* p_szName) const; 00639 00640 // FIELDS COLLECTION ACCESSORS & BUILDERS 00641 00642 //_____________________________________________________________________ 00643 // ADDFIELD 00644 //--------------------------------------------------------------------- 00647 //_____________________________________________________________________ 00648 void addField( DBOBJDefinitionField* p_pFieldDefinition); 00649 00650 //_____________________________________________________________________ 00651 // REMOVEFIELD 00652 //--------------------------------------------------------------------- 00656 //_____________________________________________________________________ 00657 void removeField( unsigned int p_uiIndex, bool p_boolDestroy=true); 00658 00659 //_____________________________________________________________________ 00660 // REMOVEFIELD 00661 //--------------------------------------------------------------------- 00665 //_____________________________________________________________________ 00666 void removeField( const char* p_szName, bool p_boolDestroy=true); 00667 00668 //_____________________________________________________________________ 00669 // GETFIELDSCOUNT 00670 //--------------------------------------------------------------------- 00673 //_____________________________________________________________________ 00674 unsigned int getFieldsCount() const; 00675 00676 //_____________________________________________________________________ 00677 // GETFIELD 00678 //--------------------------------------------------------------------- 00682 //_____________________________________________________________________ 00683 DBOBJDefinitionField* getField( unsigned int p_uiIndex) const; 00684 00685 //_____________________________________________________________________ 00686 // GETFIELD 00687 //--------------------------------------------------------------------- 00691 //_____________________________________________________________________ 00692 DBOBJDefinitionField* getField( const char* p_szName) const; 00693 00694 // PKEYS COLLECTION ACCESSORS 00695 00696 //_____________________________________________________________________ 00697 // ADDPKEY 00698 //--------------------------------------------------------------------- 00702 //_____________________________________________________________________ 00703 void addPkey( const char* p_szName); 00704 00705 //_____________________________________________________________________ 00706 // REMPKEY 00707 //--------------------------------------------------------------------- 00710 //_____________________________________________________________________ 00711 void remPkey( unsigned int p_index); 00712 00713 //_____________________________________________________________________ 00714 // GETPKEYSCOUNT 00715 //--------------------------------------------------------------------- 00718 //_____________________________________________________________________ 00719 unsigned int getPkeysCount () const; 00720 00721 //_____________________________________________________________________ 00722 // GETPKEY 00723 //--------------------------------------------------------------------- 00727 //_____________________________________________________________________ 00728 DBOBJDefinitionField* getPkey ( unsigned int p_uiIndex) const; 00729 00730 //_____________________________________________________________________ 00731 // GETPKEY 00732 //--------------------------------------------------------------------- 00736 //_____________________________________________________________________ 00737 DBOBJDefinitionField* getPkey( const char* p_pszName) const; 00738 00739 // KEYSLINKS COLLECTION ACCESSORS 00740 00741 //_____________________________________________________________________ 00742 // ADDKEYLINK 00743 //--------------------------------------------------------------------- 00748 //_____________________________________________________________________ 00749 void addKeyLink ( const char* p_szLocalName, const char* p_szParentName); 00750 00751 //_____________________________________________________________________ 00752 // REMKEYLINK 00753 //--------------------------------------------------------------------- 00756 //_____________________________________________________________________ 00757 void remKeyLink ( unsigned int p_uiIndex); 00758 00759 //_____________________________________________________________________ 00760 // GETKEYLINKSCOUNT 00761 //--------------------------------------------------------------------- 00764 //_____________________________________________________________________ 00765 unsigned int getKeyLinksCount() const; 00766 00767 //_____________________________________________________________________ 00768 // getKeyLink 00769 //--------------------------------------------------------------------- 00773 //_____________________________________________________________________ 00774 DBOBJDefinitionFieldsPair* getKeyLink( unsigned int p_uiIndex) const; 00775 00776 //_____________________________________________________________________ 00777 // getKeyLink 00778 //--------------------------------------------------------------------- 00782 //_____________________________________________________________________ 00783 DBOBJDefinitionFieldsPair* getKeyLink( const char* p_pszName) const; 00784 00785 // FUNCTIONNALITIES 00786 00787 //_____________________________________________________________________ 00788 // GETXML 00789 //--------------------------------------------------------------------- 00792 //_____________________________________________________________________ 00793 void getXML(XMLStreamConsumer* p_pXMLBufOut); 00794 00795 00796 private: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00797 00798 //_____________________________________________________________________ 00799 // REMOVENAMEDFIELD 00800 //--------------------------------------------------------------------- 00803 //_____________________________________________________________________ 00804 DBOBJDefinitionField* removeNamedField( const char* p_szName); 00805 00806 //_____________________________________________________________________ 00807 // DELETETREE 00808 //--------------------------------------------------------------------- 00810 //_____________________________________________________________________ 00811 void deleteTree(); 00812 00813 }; 00814 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00815 //============================================================================= 00816 00817 00818 00819 00820 //============================================================================= 00821 // CLASS SAXDBOBJDEFINITIONBUILDER 00822 //----------------------------------------------------------------------------- 00824 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00825 class XDFLENGINE_EXPORT SAXDBOBJDefinitionBuilder : public ContentHandler 00826 { 00827 00828 private: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00829 VAarray< DBOBJDefinitionNode* > m_vaNodes; 00830 VAarray< char* > m_vaPkeysList; 00831 VAarray< char* > m_vaInkeysList; 00832 VAarray< char* > m_vaOutkeysList; 00833 DBOBJDefinitionNode* m_rootNode; 00834 XMLFlowContext* m_pContext; 00835 00836 public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00837 00838 // STATICS 00839 00840 //_____________________________________________________________________ 00841 // BUILDDBOBJDEFINITION 00842 //--------------------------------------------------------------------- 00845 //_____________________________________________________________________ 00846 static DBOBJDefinitionNode* buildDBOBJDefinition(XMLFlowContext* p_pContext, XMLStreamProvider* p_pInput); 00847 00848 00849 // CONSTRUCTOR & DESTRUCTOR 00850 00851 //_____________________________________________________________________ 00852 // DBOBJDEFINITIONBUILDER 00853 //--------------------------------------------------------------------- 00855 //_____________________________________________________________________ 00856 SAXDBOBJDefinitionBuilder(XMLFlowContext* p_pContext); 00857 00858 //_____________________________________________________________________ 00859 // DBOBJDEFINITIONBUILDER 00860 //--------------------------------------------------------------------- 00862 //_____________________________________________________________________ 00863 ~SAXDBOBJDefinitionBuilder(); 00864 00865 // GETTERS 00866 00867 //_____________________________________________________________________ 00868 // GETDEFINITION 00869 //--------------------------------------------------------------------- 00872 //_____________________________________________________________________ 00873 DBOBJDefinitionNode* getDefinition () const; 00874 00875 // CONTENTHANDLER //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00876 00877 //____________________________________________________________________ 00878 // STARTELEMENT 00879 //-------------------------------------------------------------------- 00887 //_____________________________________________________________________ 00888 void startElement( const XMLCh* const uri, const XMLCh* const localname, const XMLCh* const qname, const Attributes& attrs); 00889 00890 //____________________________________________________________________ 00891 // ENDELEMENT 00892 //-------------------------------------------------------------------- 00900 //_____________________________________________________________________ 00901 void endElement ( const XMLCh* const uri, const XMLCh* const localname, const XMLCh* const qname); 00902 00903 // Not implemented : 00904 void characters ( const XMLCh* const chars, const unsigned int length){}; 00905 void startDocument (){}; 00906 void endDocument (){}; 00907 void startPrefixMapping ( const XMLCh* const prefix,const XMLCh* const uri){}; 00908 void endPrefixMapping ( const XMLCh* const prefix){}; 00909 void processingInstruction ( const XMLCh* const target, const XMLCh* const data){}; 00910 void ignorableWhitespace ( const XMLCh* const chars, const unsigned int length){}; 00911 void setDocumentLocator ( const Locator* const locator) {}; 00912 void skippedEntity ( const XMLCh* const name){}; 00913 00914 }; 00915 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00916 //============================================================================= 00917 00918 END_XDFLENGINE_NS 00919 00920 #endif