); \
if (_elt == NULL) \
{ \
- ANTCC_PARSER_ERROR("%s(%0x)::%s is NULL unsuported!!!" \
+ ANTCC_PARSER_ERROR("%s(%0x)::%s element is NULL unsuported!!!" \
,#cls \
,this \
,#cls \
); \
if (_elt == NULL) \
{ \
- ANTCC_PARSER_ERROR("%s(%0x)::%s is NULL unsuported!!!" \
+ ANTCC_PARSER_ERROR("%s(%0x)::%s is element NULL unsuported!!!" \
,#cls \
,this \
,#cls \
); \
if (_elt == NULL) \
{ \
- ANTCC_PARSER_DEBUG("%s(%0x)::%s is NULL unsuported!!!" \
+ ANTCC_PARSER_DEBUG("%s(%0x)::%s element is NULL unsuported!!!" \
,#cls \
,this \
,#cls \
//Project Parser Impl
ROOT_PARSER(ReqifParser,
{
-if (name == "THE-HEADER" && ns.empty())
-{
+ if (name == "THE-HEADER" && ! ns.empty())
+ {
s.m_parser = SHARED_PTR<ReqifHeaderParser>(new ReqifHeaderParser(m_Project
, ::reqif::ElementFactory::get().orderElement(name.c_str())
));
-} else if (name == "TOOL-EXTENSION" && ns.empty())
-{
+ } else if (name == "TOOL-EXTENSION" && ! ns.empty())
+ {
s.m_parser = SHARED_PTR<DescriptionParser>(new DescriptionParser(m_Project
, NULL)
);
-} else if (name == "CORE-CONTENT" && ns.empty())
-{
+ } else if (name == "CORE-CONTENT" && ! ns.empty())
+ {
s.m_parser = SHARED_PTR<CoreContentParser>(new CoreContentParser(m_Project
, ::reqif::ElementFactory::get().orderElement(name.c_str())
)
);
-} else
-{
- return false;
-}
-return true;
-
+ } else
+ {
+ if (! ns.empty() )
+ {
+ std::cout<<"ReqifParser name "<<name<<" With ns "<<ns<<std::endl;
+ }
+ return false;
+ }
+ return true;
}
,
{
ANTCC_PARSER_DEBUG_PROJECT("ReqifParser end %s size=%u"
,name.c_str()
,m_context.size());
- if (name == "THE-HEADER" && ns.empty())
+ if (name == "THE-HEADER" && ! ns.empty())
{
std::string m_result;
s.m_parser->post(m_result);
+ return true;
+ } else if (name == "CORE-CONTENT" && ! ns.empty())
+ {
+ return true;
+ } else if (name == "TOOL-EXTENSIONS" && ! ns.empty())
+ {
+ return true;
}
- return true;
+ return false;
}
,
{
// Target Parser Implementation
COMPLEX_PARSER(ReqifHeaderParser,
{
- if (name == "REQ-IF-HEADER" && ns.empty())
+ if (name == "REQ-IF-HEADER" && ! ns.empty())
{
s.m_parser = SHARED_PTR<DescriptionParser>(new DescriptionParser(m_Project
, ::reqif::ElementFactory::get().orderElement(name.c_str())
// DescriptionParser Implementation
COMPLEX_PARSER(CoreContentParser,
{
+ if (name == "REQ-IF-CONTENT" && ! ns.empty())
+ {
+ s.m_parser = SHARED_PTR<ReqifContentParser>(new ReqifContentParser(m_Project
+ , ::reqif::ElementFactory::get().orderElement(name.c_str())
+ ));
+ } else if (name == "exec" && ns.empty())
+ {
+ s.m_parser = SHARED_PTR<DescriptionParser>(new DescriptionParser(m_Project
+ , ::reqif::ElementFactory::get().orderElement(name.c_str())
+ ));
+ }
+ else
+ {
+ s.m_parser = SHARED_PTR<DescriptionParser>(new DescriptionParser(m_Project
+ , ::reqif::ElementFactory::get().orderElement(name.c_str())
+ ));
+ }
return true;
}
ANTCC_PARSER_DEBUG_TASK("CoreContentParser end %s size=%u"
,name.c_str()
,m_context.size());
+ if (name == "REQ-IF-CONTENT" && ! ns.empty())
+ {
+ return true;
+ }
return true;
}
,
// Exec Parser Implementation
COMPLEX_PARSER(ReqifContentParser,
{
- if (name == "DATATYPES" && ns.empty())
+ if (name == "DATATYPES" && !ns.empty())
{
ANTCC_PARSER_DEBUG("ReqifContentParser ignore %s size=%u"
,name.c_str()
s.m_parser = SHARED_PTR<DatatypesParser>(new DatatypesParser(m_Project
, ::reqif::ElementFactory::get().orderElement(name.c_str())
));
+ return true;
}
- else if (name == "SPEC-TYPES" && ns.empty())
- {
- } else
+ else if (name == "SPEC-TYPES" && ! ns.empty())
{
s.m_parser = SHARED_PTR<TypeParser>(new TypeParser(m_Project
, ::reqif::ElementFactory::get().orderElement(name.c_str())
));
+ return true;
+ } else if (name == "SPEC-OBJECTS" && ! ns.empty())
+ {
+ s.m_parser = SHARED_PTR<SpecObjectsParser>(new SpecObjectsParser(m_Project
+ , ::reqif::ElementFactory::get().orderElement(name.c_str())
+ ));
+ return true;
+ } else if (name == "SPEC-RELATIONS" && ! ns.empty())
+ {
+ return true;
+ } else if (name == "SPECIFICATIONS" && ! ns.empty())
+ {
+ return true;
+ } else if (name == "SPEC-RELATION-GROUPS" && ! ns.empty())
+ {
+ return true;
+ } else
+ {
+ ANTCC_PARSER_ERROR("ReqifContentParser::startElement unsupported Element %s",name.c_str());
}
- return true;
+ return false;
}
,
ANTCC_PARSER_DEBUG_TASK("ReqifParser end %s size=%u"
,name.c_str()
,m_context.size());
+ if (name == "DATATYPES" && !ns.empty())
+ {
+ }
return true;
}
,
// Datypesarser Implementation
COMPLEX_PARSER(DatatypesParser,
{
- s.m_parser = SHARED_PTR<DatatypeParser>(new DatatypeParser(m_Project
+ if ( (name == "DATATYPE-DEFINITION-STRING"
+ || !name.compare("DATATYPE-DEFINITION-XHTML")
+ || !name.compare("DATATYPE-DEFINITION-DATE")
+ || !name.compare( "DATATYPE-DEFINITION-REAL")
+ || !name.compare("DATATYPE-DEFINITION-BOOLEAN")
+ || !name.compare("DATATYPE-DEFINITION-ENUMERATION")
+ || !name.compare("DATATYPE-DEFINITION-INTEGER")
+ ) && !ns.empty())
+ {
+ ANTCC_PARSER_DEBUG("ReqifContentParser ignore %s size=%u"
+ ,name.c_str()
+ ,m_context.size());
+ s.m_parser = SHARED_PTR<DatatypeParser>(new DatatypeParser(m_Project
, ::reqif::ElementFactory::get().orderElement(name.c_str())
));
- return true;
+ return true;
+ }
+ return false;
}
,
COMPLEX_PARSER(TypeParser,
{
// Not sure that I need sub element for the Type parser
- if (name == "include" && ns.empty())
+ if (name == "RELATION-GROUP-TYPE" && ! ns.empty())
{
s.m_parser = SHARED_PTR<TypeParser>(new TypeParser(m_Project
, ::reqif::ElementFactory::get().orderElement(name.c_str())
));
return true;
+ } else if (name == "SPEC-OBJECT-TYPE" && ! ns.empty())
+ {
+ s.m_parser = SHARED_PTR<SpecObjectTypeParser>(new SpecObjectTypeParser(m_Project
+ , ::reqif::ElementFactory::get().orderElement(name.c_str())
+ ));
+ return true;
+ } else if (name == "SPEC-RELATION-TYPE" && ! ns.empty())
+ {
+ return true;
+ } else if (name == "SPECIFICAITON-TYPE" && ! ns.empty())
+ {
+ s.m_parser = SHARED_PTR<DescriptionParser>(new DescriptionParser(m_Project
+ , ::reqif::ElementFactory::get().orderElement(name.c_str())
+ ));
+ return true;
}
return false;
return l_ok;
})
+// Spec Objects Type Parser Implementation
+
+// Spec Objects Type Parser Implementation
+COMPLEX_PARSER(SpecObjectsParser,
+ {
+ // Not sure that I need sub element for the Type parser
+ if (name == "SPEC-OBJECT" && ! ns.empty())
+ {
+ s.m_parser = SHARED_PTR<SpecObjectParser>(new SpecObjectParser(m_Project
+ , ::reqif::ElementFactory::get().orderElement(name.c_str())
+ ));
+ return true;
+ } else {
+ ANTCC_PARSER_ERROR("SpecObjectsParser:startElement unsupported Element %s",name.c_str());
+ }
+ return false;
+
+ }
+ ,
+ {
+ ANTCC_PARSER_DEBUG_TASK("SpecObjectsParser end %s size=%u"
+ ,name.c_str()
+ ,m_context.size());
+ return true;
+ }
+ ,
+ {
+ ANTCC_PARSER_DEBUG_TASK("SpecObjectsParser Attribute: %s-> %s"
+ ,name.c_str()
+ ,val.c_str());
+ return l_ok;
+ })
+
+
+
+
+
+COMPLEX_PARSER(SpecObjectParser,
+ {
+ // Not sure that I need sub element for the Type parser
+ if (name == "ALTERNATIVE-ID" && ! ns.empty())
+ {
+ s.m_parser = SHARED_PTR<TypeParser>(new TypeParser(m_Project
+ , ::reqif::ElementFactory::get().orderElement(name.c_str())
+ ));
+ return true;
+ } else if (name == "VALUES" && ! ns.empty())
+ {
+ s.m_parser = SHARED_PTR<SpecObjectValuesParser>(new SpecObjectValuesParser(m_Project
+ , ::reqif::ElementFactory::get().orderElement(name.c_str())
+ ));
+ return true;
+ } else if (name == "TYPE" && ! ns.empty())
+ {
+ s.m_parser = SHARED_PTR<DatatypeRefParser>(new DatatypeRefParser(m_Project
+ , ::reqif::ElementFactory::get().orderElement(name.c_str())
+ ));
+ return true;
+ } else {
+ ANTCC_PARSER_ERROR("SpecObjectParser:startElement unsupported Element %s",name.c_str());
+ }
+ return false;
+
+ }
+ ,
+ {
+ ANTCC_PARSER_DEBUG_TASK("SpecObjectParser end %s size=%u"
+ ,name.c_str()
+ ,m_context.size());
+ return true;
+ }
+ ,
+ {
+ ANTCC_PARSER_DEBUG_TASK("SpecObjectsParser Attribute: %s-> %s"
+ ,name.c_str()
+ ,val.c_str());
+ return l_ok;
+ })
+
+/* SPEC OBJECT VALUES Parser */
+COMPLEX_PARSER(SpecObjectValuesParser,
+ {
+ // Not sure that I need sub element for the Type parser
+ if ( (name == "ATTRIBUTE-VALUE-BOOLEAN"
+ || name == "ATTRIBUTE-VALUE-DATE"
+ || name == "ATTRIBUTE-VALUE-ENUMERATION"
+ || name == "ATTRIBUTE-VALUE-INTEGER"
+ || name == "ATTRIBUTE-VALUE-REAL"
+ || name == "ATTRIBUTE-VALUE-XHTML"
+ || name == "ATTRIBUTE-VALUE-STRING" )
+ && ! ns.empty())
+ {
+ s.m_parser = SHARED_PTR<AttributeValueParser>(new AttributeValueParser(m_Project
+ , ::reqif::ElementFactory::get().orderElement(name.c_str())
+ ));
+ return true;
+ } else {
+ ANTCC_PARSER_ERROR("SpecObjectValuesParser:startElement unsupported Element %s",name.c_str());
+ }
+ return false;
+
+ }
+ ,
+ {
+ ANTCC_PARSER_DEBUG_TASK("SpecObjectValuesParser end %s size=%u"
+ ,name.c_str()
+ ,m_context.size());
+ return true;
+ }
+ ,
+ {
+ ANTCC_PARSER_DEBUG_TASK("SpecObjectsParser Attribute: %s-> %s"
+ ,name.c_str()
+ ,val.c_str());
+ return l_ok;
+ })
+
+// Attribute Value Parser Implementation
+COMPLEX_PARSER(AttributeValueParser,
+ {
+ if ( name == "DEFINITION"
+ && ! ns.empty())
+ {
+ s.m_parser = SHARED_PTR<DatatypeRefParser>(new DatatypeRefParser(m_Project
+ , ::reqif::ElementFactory::get().orderElement(name.c_str())
+ ));
+ return true;
+ }else if ( name == "THE-VALUE"
+ && ! ns.empty())
+ {
+ s.m_parser = SHARED_PTR<DatatypeRefParser>(new DatatypeRefParser(m_Project
+ , ::reqif::ElementFactory::get().orderElement(name.c_str())
+ ));
+ return true;
+ } else {
+ ANTCC_PARSER_ERROR("AttributeValuesParser:startElement unsupported Element %s",name.c_str());
+ }
+ return false;
+
+ }
+ ,
+ {
+ ANTCC_PARSER_DEBUG_TASK("AttributeValueParser end %s size=%u"
+ ,name.c_str()
+ ,m_context.size());
+ return true;
+ }
+ ,
+ {
+ l_ok = false;
+ ANTCC_PARSER_DEBUG_TASK("AttributeValueParser Attribute: %s-> %s"
+ ,name.c_str()
+ ,val.c_str());
+ if (name == "THE-VALUE") {
+ l_ok = true;
+ }
+ return l_ok;
+ })
+
+
+
// Spec Object Type Parser Implementation
COMPLEX_PARSER(SpecAttributesParser,
{