input: 
  from typing import Optional, Union
  
  
  def search_kb_sru(query: str, collection: Optional[str] = None, start_record: int = 1, 
                    maximum_records: int = 1, record_schema: Optional[str] = None) -> Union[dict, bool]:
      """
      Perform a search using the KB SRU API. The function accepts a query string and optionally a collection name, 
      start record number, maximum number of records to return, and record schema. It returns a dictionary containing 
      the search results or False if no results are found.
  
      Example:
      >>> result = search_kb_sru("python", "ANP")
      >>> print(result['titles'])
      ['Python Programming', 'Python for Data Science']
      """
  
output:     import requests
      import xml.etree.ElementTree as ET
  
      base_url = "http://jsru.kb.nl/sru/sru?"
      params = {
          "operation": "searchRetrieve",
          "version": "1.2",
          "query": query,
          "startRecord": start_record,
          "maximumRecords": maximum_records,
      }
      if collection:
          params["recordSchema"] = collection
      if record_schema:
          params["recordSchema"] = record_schema
  
      response = requests.get(base_url, params=params)
      if response.status_code != 200:
          return False
  
      root = ET.fromstring(response.content)
      records = root.findall(".//{http://www.loc.gov/zing/srw/}record")
      if not records:
          return False
  
      results = []
      for record in records:
          title = record.find(".//{http://purl.org/dc/elements/1.1/}title")
          if title is not None:
              results.append(title.text)
  
      return {"titles": results}