code: def fromXML(self, name, attrs, _content):
      if name == "coord":
          axis = attrs["axis"]
          value = str2fl(attrs["value"], 14)
          defaultMinValue = min(
              value, 0.0
          )  # -0.3 --> -0.3; 0.7 --> 0.0
          defaultMaxValue = max(
              value, 0.0
          )  # -0.3 -->  0.0; 0.7 --> 0.7
          minValue = str2fl(attrs.get("min", defaultMinValue), 14)
          maxValue = str2fl(attrs.get("max", defaultMaxValue), 14)
          self.axes[axis] = (minValue, value, maxValue)
      elif name == "delta":
          if "pt" in attrs:
              point = safeEval(attrs["pt"])
              x = safeEval(attrs["x"])
              y = safeEval(attrs["y"])
              self.coordinates[point] = (x, y)
          elif "cvt" in attrs:
              cvt = safeEval(attrs["cvt"])
              value = safeEval(attrs["value"])
              self.coordinates[cvt] = value
          else:
              log.warning(
                  "bad delta format: %s"
                  % ", ".join(sorted(attrs.keys()))
              )
  
imports: from fontTools.misc.fixedTools import fixedToFloat, floatToFixed, floatToFixedToStr, strToFixedToFloat, otRound
  from fontTools.misc.textTools import safeEval
  import array
  from collections import Counter, defaultdict
  import io
  import logging
  import struct
  import sys
label_desc: Use image node_id 7 for calling the TupleVariation obj's underlying member method code with example usage: obj.fromXML(name, attrs, _content) without return types