input: 
  def sru_search(query: str, collection: str = None, start_record: int = 1, max_records: int = 1, record_schema: str = None) -> 'response':
      """ Python API for KB SRU. This function allows you to search the KB SRU database.
      You can specify a query, optionally a collection name, start record number, maximum number of records to return, and record schema.
      
      Example:
      >>> resp = sru_search("Keywords", collection="ANP")
      >>> resp.titles
      ['Title1', 'Title2']
      
      >>> resp = sru_search("OtherKeywords", max_records=3)
      >>> resp.creators
      ['Creator1', 'Creator2', 'Creator3']
      """
  
output:     import requests
      from xml.etree import ElementTree as ET
  
      base_url = "http://jsru.kb.nl/sru/sru?"
      params = {
          "operation": "searchRetrieve",
          "query": query,
          "startRecord": start_record,
          "maximumRecords": max_records,
          "recordSchema": record_schema if record_schema else "dcx"
      }
      if collection:
          params["x-collection"] = collection
  
      response = requests.get(base_url, params=params)
      if response.status_code != 200:
          raise Exception(f"Failed to retrieve data: {response.status_code}")
  
      root = ET.fromstring(response.content)
      records = root.findall(".//{http://www.loc.gov/zing/srw/}record")
  
      class Response:
          def __init__(self, records):
              self.titles = [record.find(".//{http://purl.org/dc/elements/1.1/}title").text for record in records]
              self.creators = [record.find(".//{http://purl.org/dc/elements/1.1/}creator").text for record in records]
  
      return Response(records)