#include <parser/debug_validator/Debug_Element_Builder.h>
Inheritance diagram for ACEXML_Debug_Element_Builder:


Definition at line 32 of file Debug_Element_Builder.h.
|
|
Definition at line 6 of file Debug_Element_Builder.cpp.
|
|
|
Definition at line 12 of file Debug_Element_Builder.cpp.
00013 {
00014 delete this->root_;
00015 }
|
|
|
Dump the content of the attribute definition. Implements ACEXML_Element_Def_Builder. Definition at line 124 of file Debug_Element_Builder.cpp. References element_.
00125 {
00126 cout << "<!ELEMENT " << this->element_;
00127
00128 // @@ Also dump element contentspec here.
00129 switch (this->type_)
00130 {
00131 case EMPTY:
00132 cout << "EMPTY";
00133 break;
00134 case ANY:
00135 cout << "ANY";
00136 break;
00137 case MIXED:
00138 case CHILDREN:
00139 // @@ Dump the content of this->root_
00140 cout << "*** not implemented ***";
00141 break;
00142 default:
00143 cout << "*** Unidentified element type ***";
00144 break;
00145 }
00146
00147 cout << ">" << endl;
00148 }
|
|
|
End a new group of children.
Implements ACEXML_Element_Def_Builder. |
|
||||||||||||||||
|
Insert an new element into the current child group.
Implements ACEXML_Element_Def_Builder. Definition at line 108 of file Debug_Element_Builder.cpp. References ACE_NEW_RETURN, and ACEXML_Char.
00112 {
00113 ACEXML_Element_Tree_Name_Node *node;
00114
00115 // @@ We should "throw" an exception here instead of returning -1.
00116 ACE_NEW_RETURN (node,
00117 ACEXML_Element_Tree_Name_Node (qName),
00118 -1);
00119
00120 return this->active_list_.top ()->insert (node);
00121 }
|
|
||||||||||||||||
|
Insert one more element into Mixed definition. Implements ACEXML_Element_Def_Builder. Definition at line 41 of file Debug_Element_Builder.cpp. References ACE_NEW_RETURN, and ACEXML_Char.
00045 {
00046 ACEXML_Element_Tree_Name_Node *node;
00047
00048 // @@ We should "throw" an exception here instead of returning -1.
00049 ACE_NEW_RETURN (node,
00050 ACEXML_Element_Tree_Name_Node (qName),
00051 -1);
00052
00053 if (this->root_ == 0)
00054 // @@ Memory leak if fail?
00055 ACE_NEW_RETURN (this->root_,
00056 ACEXML_Element_Tree_List_Node (),
00057 -1);
00058
00059
00060 return this->root_->insert (node);
00061 }
|
|
|
Set the type of current child group to Choice.
Implements ACEXML_Element_Def_Builder. Definition at line 94 of file Debug_Element_Builder.cpp. References active_list_, ACEXML_Element_Tree_List_Node::set(), and ACEXML_Element_Tree_List_Stack::top().
00095 {
00096 this->active_list_.top ()->set (ACEXML_Element_Tree_List_Node::CHOICE);
00097 return 0;
00098 }
|
|
|
Define the content type of the element.
Implements ACEXML_Element_Def_Builder. Definition at line 28 of file Debug_Element_Builder.cpp. References ACE_TEXT, and ACEXML_THROW_RETURN.
00030 {
00031 if (this->type_ == UNDEFINED)
00032 {
00033 this->type_ = type;
00034 return 0;
00035 }
00036
00037 ACEXML_THROW_RETURN (ACEXML_SAXParseException (ACE_TEXT("Element type redefinition in Debug_Validator.")), -1);
00038 }
|
|
||||||||||||||||
|
Define the name of the element.
Implements ACEXML_Element_Def_Builder. Definition at line 18 of file Debug_Element_Builder.cpp. References ACEXML_Char.
00022 {
00023 this->element_.set (qName, 0);
00024 return 0;
00025 }
|
|
|
Set the type of current child group to Sequence.
Implements ACEXML_Element_Def_Builder. Definition at line 101 of file Debug_Element_Builder.cpp. References active_list_, ACEXML_Element_Tree_List_Node::set(), and ACEXML_Element_Tree_List_Stack::top().
00102 {
00103 this->active_list_.top ()->set (ACEXML_Element_Tree_List_Node::SEQUENCE);
00104 return 0;
00105 }
|
|
|
Start a new group of children. Implements ACEXML_Element_Def_Builder. Definition at line 64 of file Debug_Element_Builder.cpp. References ACE_NEW_RETURN, active_list_, ACEXML_Element_Tree_List_Node::insert(), and ACEXML_Element_Tree_List_Stack::push().
00065 {
00066 ACEXML_Element_Tree_List_Node *lnode;
00067
00068 ACE_NEW_RETURN (lnode,
00069 ACEXML_Element_Tree_List_Node (),
00070 -1);
00071
00072 if (this->root_ == 0)
00073 {
00074 this->root_ = lnode;
00075 }
00076 else
00077 {
00078 // @@ check error?
00079 this->root_->insert (lnode);
00080 }
00081
00082 this->active_list_.push (lnode);
00083 return 0;
00084 }
|
|
|
Definition at line 121 of file Debug_Element_Builder.h. Referenced by setChoice(), setSequence(), and startChildGroup(). |
|
|
Definition at line 117 of file Debug_Element_Builder.h. Referenced by dump(). |
|
|
Definition at line 119 of file Debug_Element_Builder.h. |
|
|
Definition at line 115 of file Debug_Element_Builder.h. |
1.3.6