diff options
Diffstat (limited to 'ACEXML/parser/debug_validator/Debug_Attributes_Builder.cpp')
-rw-r--r-- | ACEXML/parser/debug_validator/Debug_Attributes_Builder.cpp | 53 |
1 files changed, 47 insertions, 6 deletions
diff --git a/ACEXML/parser/debug_validator/Debug_Attributes_Builder.cpp b/ACEXML/parser/debug_validator/Debug_Attributes_Builder.cpp index 78ef1d18086..6236b29187c 100644 --- a/ACEXML/parser/debug_validator/Debug_Attributes_Builder.cpp +++ b/ACEXML/parser/debug_validator/Debug_Attributes_Builder.cpp @@ -9,11 +9,33 @@ ACEXML_Debug_Attribute_Builder::ACEXML_Debug_Attribute_Builder () { } +ACEXML_Debug_Attribute_Builder::ACEXML_Debug_Attribute_Builder (const ACEXML_Debug_Attribute_Builder &rhs) + : name_ (rhs.name_), + type_ (rhs.type_), + default_decl_ (rhs.default_decl_), + default_value_ (rhs.default_value_), + att_value_queue_ (rhs.att_value_queue_) +{ +} + ACEXML_Debug_Attribute_Builder::~ACEXML_Debug_Attribute_Builder () { } int +ACEXML_Debug_Attribute_Builder::setName (const ACEXML_Char *n) +{ + this->name_.set (n, 0); + return 0; +} + +const ACEXML_Char * +ACEXML_Debug_Attribute_Builder::getName (void) +{ + return this->name_.fast_rep (); +} + +int ACEXML_Debug_Attribute_Builder::setAttType (const ATT_TYPE type, ACEXML_Env &xmlenv) // ACE_THORW_SPEC ((ACEXML_SAXException)) @@ -28,25 +50,32 @@ ACEXML_Debug_Attribute_Builder::setAttType (const ATT_TYPE type, } int -ACEXML_Debug_Attribute_Builder::insertList (const ACEXML_Char Name, - ACEXML_Env &xmlenv) +ACEXML_Debug_Attribute_Builder::insertList (const ACEXML_Char *n, + ACEXML_Env &) // ACE_THORW_SPEC ((ACEXML_SAXException)) { + ACEXML_String str (n, 0, 0); + this->att_value_queue_.enqueue_tail (str); + return 0; } int ACEXML_Debug_Attribute_Builder::setDefault (const DEFAULT_DECL def, const ACEXML_Char *value, - ACEXML_Env &xmlenv) + ACEXML_Env &) // ACE_THORW_SPEC ((ACEXML_SAXException)) { - + this->default_decl_ = def; + this->default_value_.set (value, 0); + return 0; } int ACEXML_Debug_Attribute_Builder::validAttr (void) { + // @@ Not implemented. Always return 1 (true) for now. + return 1; } // ======================================== @@ -66,6 +95,8 @@ ACEXML_Debug_Attributes_Builder::setElement (const ACEXML_Char *namespaceURI, ACEXML_Env &xmlenv) // ACE_THROW_SPEC ((ACEXML_SAXException)) { + this->element_name_.set (qName, 0); + return 0; } ACEXML_Attribute_Def_Builder * @@ -81,9 +112,19 @@ ACEXML_Debug_Attributes_Builder::getAttribute_Def_Builder () int ACEXML_Debug_Attributes_Builder::insertAttribute (ACEXML_Attribute_Def_Builder *def, - ACEXML_Env &) + ACEXML_Env &xmlenv) { ACEXML_Attribute_Def_Builder::VAR ptr (def); - return 0; + if (def != 0) + { + ACEXML_String attname (def->getName (), 0, 0); + ACEXML_Debug_Attribute_Builder *ptr = + ACE_dynamic_cast (ACEXML_Debug_Attribute_Builder *, def); + this->attributes_.bind (attname, *ptr); + return 0; + } + xmlenv.exception (new ACEXML_SAXParseException ("ACEXML_Debug_Attributes_Builder internal error")); + return -1; + } |