code: def validate_config_values(app: Sphinx) -> None:
      if app.builder.name != "epub":
          return
  
      # <package> lang attribute, dc:language
      if not app.config.epub_language:
          logger.warning(
              __(
                  'conf value "epub_language" (or "language") '
                  "should not be empty for EPUB3"
              )
          )
      # <package> unique-identifier attribute
      if not _XML_NAME_PATTERN.match(app.config.epub_uid):
          logger.warning(
              __('conf value "epub_uid" should be XML NAME for EPUB3')
          )
      # dc:title
      if not app.config.epub_title:
          logger.warning(
              __(
                  'conf value "epub_title" (or "html_title") '
                  "should not be empty for EPUB3"
              )
          )
      # dc:creator
      if not app.config.epub_author:
          logger.warning(
              __(
                  'conf value "epub_author" should not be empty for EPUB3'
              )
          )
      # dc:contributor
      if not app.config.epub_contributor:
          logger.warning(
              __(
                  'conf value "epub_contributor" should not be empty for EPUB3'
              )
          )
      # dc:description
      if not app.config.epub_description:
          logger.warning(
              __(
                  'conf value "epub_description" should not be empty for EPUB3'
              )
          )
      # dc:publisher
      if not app.config.epub_publisher:
          logger.warning(
              __(
                  'conf value "epub_publisher" should not be empty for EPUB3'
              )
          )
      # dc:rights
      if not app.config.epub_copyright:
          logger.warning(
              __(
                  'conf value "epub_copyright" (or "copyright")'
                  "should not be empty for EPUB3"
              )
          )
      # dc:identifier
      if not app.config.epub_identifier:
          logger.warning(
              __(
                  'conf value "epub_identifier" should not be empty for EPUB3'
              )
          )
      # meta ibooks:version
      if not app.config.version:
          logger.warning(
              __('conf value "version" should not be empty for EPUB3')
          )
  
imports: from __future__ import annotations
  import html
  import os
  import re
  import time
  from os import path
  from typing import TYPE_CHECKING, Any, NamedTuple
  from sphinx import package_dir
  from sphinx.builders import _epub_base
  from sphinx.config import ENUM, Config
  from sphinx.locale import __
  from sphinx.util import logging
  from sphinx.util.fileutil import copy_asset_file
  from sphinx.util.osutil import make_filename
label_desc: Use image node_id 1 for calling a global function with example usage: validate_config_values(app) without return types