class_docstr: XML dataset for detection.
  
  Args:
      img_subdir (str): Subdir where images are stored. Default: JPEGImages.
      ann_subdir (str): Subdir where annotations are. Default: Annotations.
      backend_args (dict, optional): Arguments to instantiate the
          corresponding backend. Defaults to None.
docstr: Load annotation from XML style ann_file.
  
  Returns:
      list[dict]: Annotation info from XML file.
docstr_tok: ["Load","annotation","from","XML","style","ann_file",".","Returns",":","list","[","dict","]",":","Annotation","info","from","XML","file","."]
code: def load_data_list(self) -> List[dict]:
      """Load annotation from XML style ann_file.
  
      Returns:
          list[dict]: Annotation info from XML file.
      """
      assert (
          self._metainfo.get("classes", None) is not None
      ), "`classes` in `XMLDataset` can not be None."
      self.cat2label = {
          cat: i for i, cat in enumerate(self._metainfo["classes"])
      }
  
      data_list = []
      img_ids = list_from_file(
          self.ann_file, backend_args=self.backend_args
      )
      for img_id in img_ids:
          file_name = osp.join(self.img_subdir, f"{img_id}.jpg")
          xml_path = osp.join(
              self.sub_data_root, self.ann_subdir, f"{img_id}.xml"
          )
  
          raw_img_info = {}
          raw_img_info["img_id"] = img_id
          raw_img_info["file_name"] = file_name
          raw_img_info["xml_path"] = xml_path
  
          parsed_data_info = self.parse_data_info(raw_img_info)
          data_list.append(parsed_data_info)
      return data_list
  
file_path: mmdetection/mmdet/datasets/xml_style.py
imports: import os.path
  import xml.etree.ElementTree
  from typing import List, Optional, Union
  import mmcv
  from mmengine.fileio import get, get_local_path, list_from_file
  from mmdet.registry import DATASETS
  from .base_det_dataset import BaseDetDataset
label_desc: Use image node_id 3 for calling the XMLDataset obj's underlying member method code with example usage: obj.load_data_list() and returns: data_list