class_docstr: A particular Silf subtable
class_docstr_tok: ["A","particular","Silf","subtable"]
code: def fromXML(self, name, attrs, content, ttFont, version=2.0):
      if name == "version":
          self.ruleVersion = float(
              safeEval(attrs.get("ruleVersion", "0"))
          )
      if name == "info":
          getSimple(self, attrs, *attrs_info)
      elif name == "passindexes":
          getSimple(self, attrs, *attrs_passindexes)
      elif name == "contexts":
          getSimple(self, attrs, *attrs_contexts)
      elif name == "attributes":
          getSimple(self, attrs, *attrs_attributes)
      elif name == "justifications":
          for element in content:
              if not isinstance(element, tuple):
                  continue
              (tag, attrs, subcontent) = element
              if tag == "justify":
                  j = _Object()
                  for k, v in attrs.items():
                      setattr(j, k, int(v))
                  self.jLevels.append(j)
      elif name == "critFeatures":
          self.critFeatures = []
          element = content_string(content)
          self.critFeatures.extend(map(int, element.split()))
      elif name == "scriptTags":
          self.scriptTags = []
          element = content_string(content)
          for n in element.split():
              self.scriptTags.append(n)
      elif name == "pseudoMap":
          self.pMap = {}
          for element in content:
              if not isinstance(element, tuple):
                  continue
              (tag, attrs, subcontent) = element
              if tag == "pseudo":
                  k = int(attrs["unicode"], 16)
                  v = attrs["pseudo"]
              self.pMap[k] = v
      elif name == "classes":
          self.classes = Classes()
          for element in content:
              if not isinstance(element, tuple):
                  continue
              tag, attrs, subcontent = element
              self.classes.fromXML(
                  tag, attrs, subcontent, ttFont, version
              )
      elif name == "passes":
          for element in content:
              if not isinstance(element, tuple):
                  continue
              tag, attrs, subcontent = element
              if tag == "pass":
                  p = Pass()
                  for e in subcontent:
                      if not isinstance(e, tuple):
                          continue
                      p.fromXML(e[0], e[1], e[2], ttFont, version)
                  self.passes.append(p)
  
imports: from fontTools.misc import sstruct
  from fontTools.misc.fixedTools import floatToFixedToStr
  from fontTools.misc.textTools import byteord, safeEval
  from .None import DefaultTable
  from .None import grUtils
  from array import array
  from functools import reduce
  import struct, re, sys
label_desc: Use image node_id 5 for calling the Silf obj's underlying member method code with example usage: obj.fromXML(name, attrs, content, ttFont, version) without return types