code: def fromXML(self, name, _attrs, content, ttFont):
      assert name == "Axis"
      for tag, _, value in filter(lambda t: type(t) is tuple, content):
          value = "".join(value)
          if tag == "AxisTag":
              self.axisTag = Tag(value)
          elif tag in {
              "Flags",
              "MinValue",
              "DefaultValue",
              "MaxValue",
              "AxisNameID",
          }:
              setattr(
                  self,
                  tag[0].lower() + tag[1:],
                  str2fl(value, 16)
                  if tag.endswith("Value")
                  else safeEval(value),
              )
  
imports: from fontTools.misc import sstruct
  from fontTools.misc.fixedTools import fixedToFloat, floatToFixed, floatToFixedToStr, strToFixedToFloat
  from fontTools.misc.textTools import Tag, bytesjoin, safeEval
  from fontTools.ttLib import TTLibError
  from .None import DefaultTable
  import struct
label_desc: Use image node_id 5 for calling the Axis obj's underlying member method code with example usage: obj.fromXML(name, _attrs, content, ttFont) without return types