| 177 | |
| 178 | } |
| 179 | void MdComment::FromXml(const IXmlNode& root_node) { |
| 180 | IXmlNode::ChildList node_list; |
| 181 | root_node.GetChildList(node_list); |
| 182 | for (const IXmlNode* node : node_list) { |
| 183 | if (node == nullptr) { |
| 184 | continue; |
| 185 | } |
| 186 | if (node->IsTagName("TX")) { |
| 187 | comment_.FromXml(*node); |
| 188 | } else if (node->IsTagName("common_properties")) { |
| 189 | common_property_.FromXml(*node); |
| 190 | } else if (node->IsTagName("extensions")) { |
| 191 | IXmlNode::ChildList ext_list; |
| 192 | node->GetChildList(ext_list); |
| 193 | for (const IXmlNode* ext_node : ext_list) { |
| 194 | if (ext_node != nullptr && ext_node->IsTagName("extension") && |
| 195 | extension_creator_) { |
| 196 | if (MdExtensionPtr extension = extension_creator_(); |
| 197 | extension) { |
| 198 | extension->FromXml(*ext_node); |
| 199 | AddExtension(std::move(extension)); |
| 200 | } |
| 201 | } |
| 202 | } |
| 203 | } else if (node->IsTagName("formula")) { |
| 204 | formula_.FromXml(*node); |
| 205 | } else if (node->IsTagName("names")) { |
| 206 | alternative_name_.FromXml(*node); |
| 207 | } |
| 208 | } |
| 209 | } |
| 210 | |
| 211 | std::string MdComment::ToXml() const { |
| 212 | try { |
nothing calls this directly
no test coverage detected