MCPcopy Create free account
hub / github.com/OpenMS/OpenMS / startElement

Method startElement

src/openms/source/FORMAT/HANDLERS/TraMLHandler.cpp:43–272  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41 = default;
42
43 void TraMLHandler::startElement(const XMLCh* const /*uri*/, const XMLCh* const /*local_name*/, const XMLCh* const qname, const xercesc::Attributes& attributes)
44 {
45 static const XMLCh* s_type = xercesc::XMLString::transcode("type");
46 static const XMLCh* s_value = xercesc::XMLString::transcode("value");
47 static const XMLCh* s_name = xercesc::XMLString::transcode("name");
48 static const XMLCh* s_id = xercesc::XMLString::transcode("id");
49 static const XMLCh* s_sequence = xercesc::XMLString::transcode("sequence");
50 static const XMLCh* s_fullName = xercesc::XMLString::transcode("fullName");
51 static const XMLCh* s_version = xercesc::XMLString::transcode("version");
52 static const XMLCh* s_URI = xercesc::XMLString::transcode("URI");
53
54 tag_ = sm_.convert(qname);
55 open_tags_.push_back(tag_);
56
57 static std::set<String> tags_to_ignore;
58 if (tags_to_ignore.empty())
59 {
60 tags_to_ignore.insert("TraML"); // base node
61 tags_to_ignore.insert("ContactList"); // contains only contact sections
62 tags_to_ignore.insert("CompoundList"); // contains only compounds
63 tags_to_ignore.insert("TransitionList"); // contains only transitions
64 tags_to_ignore.insert("ConfigurationList"); // contains only configurations
65 tags_to_ignore.insert("cvList"); // contains only CVs
66 tags_to_ignore.insert("InstrumentList"); // contains only instruments
67 tags_to_ignore.insert("SoftwareList"); // contains only software
68 tags_to_ignore.insert("PublicationList"); // contains only publications
69 tags_to_ignore.insert("ProteinList"); // contains only proteins
70 tags_to_ignore.insert("SourceFileList"); // contains only source files
71 tags_to_ignore.insert("InterpretationList"); // contains only interpretations
72 tags_to_ignore.insert("Evidence"); // only cv terms
73 tags_to_ignore.insert("ValidationStatus"); // only cv terms
74 tags_to_ignore.insert("Sequence"); // only sequence as characters
75 tags_to_ignore.insert("Precursor"); // contains only cv terms
76 tags_to_ignore.insert("Product"); // contains no attributes
77 tags_to_ignore.insert("IntermediateProduct"); // contains no attributes
78 tags_to_ignore.insert("TargetIncludeList");
79 tags_to_ignore.insert("TargetExcludeList");
80 tags_to_ignore.insert("TargetList");
81 tags_to_ignore.insert("RetentionTimeList");
82 }
83
84 // skip tags where nothing is to do
85 if (tags_to_ignore.find(tag_) != tags_to_ignore.end())
86 {
87 return;
88 }
89
90 //determine parent tag
91 String parent_tag;
92 if (open_tags_.size() > 1)
93 {
94 parent_tag = *(open_tags_.end() - 2);
95 }
96 String parent_parent_tag;
97 if (open_tags_.size() > 2)
98 {
99 parent_parent_tag = *(open_tags_.end() - 3);
100 }

Callers

nothing calls this directly

Calls 15

attributeAsString_Function · 0.85
CVClass · 0.85
ProteinClass · 0.85
PeptideFunction · 0.85
attributeAsInt_Function · 0.85
CompoundFunction · 0.85
RetentionTimeFunction · 0.85
addCVMethod · 0.80
setVersionMethod · 0.80
setNativeIDTypeMethod · 0.80

Tested by

no test coverage detected