protected function dataConversionForm($locations, $exportFormat, $labelFormat)
    {
        $recordXML = $this->XMLForLocations($locations);
        $XMLString = $recordXML->saveXML();

        $form = null;
        if ($XMLString) {
            $form = $this->doc->createElement('form');
            $form->setAttribute('method', 'POST');
            $scriptPath = 'typo3conf/ext/pazpar2/Resources/Public/pz2-client/converter/convert-pazpar2-record.php';
            $scriptGetParameters = ['format' => $exportFormat];
            if ($GLOBALS['TSFE']->lang) {
                $scriptGetParameters['language'] = $GLOBALS['TSFE']->lang;
            }
            if ($this->conf['siteName']) {
                $scriptGetParameters['filename'] = $this->conf['siteName'];
            }
            $form->setAttribute('action', $scriptPath . '?' . http_build_query($scriptGetParameters));

            $qInput = $this->doc->createElement('input');
            $qInput->setAttribute('name', 'q');
            $qInput->setAttribute('type', 'hidden');
            $qInput->setAttribute('value', $XMLString);
            $form->appendChild($qInput);

            $submitButton = $this->doc->createElement('input');
            $form->appendChild($submitButton);
            $submitButton->setAttribute('type', 'submit');
            $buttonText = LocalizationUtility::translate('download-label-' . $exportFormat, 'Pazpar2');
            $submitButton->setAttribute('value', $buttonText);
            if ($labelFormat) {
                $labelText = str_replace('*', $buttonText, $labelFormat);
                $submitButton->setAttribute('title', $labelText);
            }
        }

        return $form;
    }