{
if (!node) return;
- node->updateUniqueId();
node->updateName();
- node->updateRoleName();
node->updateAttributes();
- node->updateToolkitName();
std::string name;
if (node->getType().empty())
const auto parent = node->getParent();
if (!parent) return nullptr;
- const std::string query = makeQuery(node->getId());
+ const std::string query = makeQuery(parent->getId());
xml_node xmlNode = mDoc->select_node(query.c_str()).node();
if (xmlNode) {
- auto children = node->getChildren();
+ auto children = parent->getChildren();
for (const auto &child : children) {
if (child->getRawHandler() == nullptr) continue;
xmlNode = mDoc->select_node(query.c_str()).node();
if (!xmlNode) {
+ /* When node is deleted, XMLDoc doesn't know it so XMLDoc is not updated.
+ * Disable creating XPath partially.
// 1. find parent and check node again
auto parent = checkParentNode(node);
// 2. clear tree and create tree again
- if (!parent) createXMLtree();
+ if (!parent)
+ */
+ createXMLtree();
xmlNode = mDoc->select_node(query.c_str()).node();
}