def loadSymbol(xmlRoot, namespace_project, namespace_common, version, project, poolOfMessages): if version == "0.1": idSymbol = str(xmlRoot.get("id")) symbol = Symbol(idSymbol, "", project) # we parse the messages if xmlRoot.find("{" + namespace_project + "}messages-ref") is not None: xmlMessages = xmlRoot.find("{" + namespace_project + "}messages-ref") for xmlMessage in xmlMessages.findall("{" + namespace_common + "}message-ref"): id = xmlMessage.get("id") message = poolOfMessages.getMessageByID(id) if message is not None: message.setSymbol(symbol) symbol.addMessage(message) # we parse the fields if xmlRoot.find("{" + namespace_project + "}field") is not None: xmlField = xmlRoot.find("{" + namespace_project + "}field") field = Field.loadFromXML(xmlField, namespace_project, version, symbol) if field is not None: symbol.setField(field) return symbol return None
def loadSymbol(xmlRoot, namespace_project, namespace_common, version, project, poolOfMessages): if version == "0.1": nameSymbol = xmlRoot.get("name") idSymbol = xmlRoot.get("id") symbol = TrashSymbol(idSymbol, project) # Interpretation attributes if xmlRoot.find("{" + namespace_project + "}format") is not None: symbol_format = xmlRoot.find("{" + namespace_project + "}format").text symbol.setFormat(symbol_format) if xmlRoot.find("{" + namespace_project + "}unitsize") is not None: symbol_unitsize = xmlRoot.find("{" + namespace_project + "}unitsize").text symbol.setUnitSize(symbol_unitsize) if xmlRoot.find("{" + namespace_project + "}sign") is not None: symbol_sign = xmlRoot.find("{" + namespace_project + "}sign").text symbol.setSign(symbol_sign) if xmlRoot.find("{" + namespace_project + "}endianess") is not None: symbol_endianess = xmlRoot.find("{" + namespace_project + "}endianess").text symbol.setEndianess(symbol_endianess) # we parse the messages if xmlRoot.find("{" + namespace_project + "}messages-ref") is not None: xmlMessages = xmlRoot.find("{" + namespace_project + "}messages-ref") for xmlMessage in xmlMessages.findall("{" + namespace_common + "}message-ref"): id = xmlMessage.get("id") message = poolOfMessages.getMessageByID(id) if message is not None: message.setSymbol(symbol) symbol.addMessage(message) # we parse the fields if xmlRoot.find("{" + namespace_project + "}fields") is not None: xmlFields = xmlRoot.find("{" + namespace_project + "}fields") for xmlField in xmlFields.findall("{" + namespace_project + "}field"): field = Field.loadFromXML(xmlField, namespace_project, version) if field is not None: symbol.addField(field) return symbol return None