code: def append_skipped(self, report):
      if hasattr(report, "wasxfail"):
          xfailreason = report.wasxfail
          if xfailreason.startswith("reason: "):
              xfailreason = xfailreason[8:]
          self.append(
              Junit.skipped(
                  "",
                  type="pytest.xfail",
                  message=bin_xml_escape(xfailreason),
              )
          )
      else:
          filename, lineno, skipreason = report.longrepr
          if skipreason.startswith("Skipped: "):
              skipreason = skipreason[9:]
          details = "%s:%s: %s" % (filename, lineno, skipreason)
  
          self.append(
              Junit.skipped(
                  bin_xml_escape(details),
                  type="pytest.skip",
                  message=bin_xml_escape(skipreason),
              )
          )
          self.write_captured_output(report)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import functools
  import os
  import platform
  import re
  import sys
  import time
  from datetime import datetime
  import py
  import six
  import pytest
  from _pytest import nodes
  from _pytest.config import filename_arg
label_desc: Use image node_id 15 for calling the _NodeReporter obj's underlying member method code with example usage: obj.append_skipped(report) without return types