Mysql в XSLT заменить \ r \ n - PullRequest
0 голосов
/ 03 июля 2018

Я использую данные из запроса MySQLi и помещаю их в файл XSLT, который в конечном итоге заменяет файл document.xml в Word. У меня проблема с \ r и \ n, входящими в мой документ Word.

Файлы XSLT довольно велики, поэтому я не буду вставлять здесь весь код, однако ниже приведен пример одного из полей:

            <w:p w:rsidR="00C61454" w:rsidRPr="00430555" w:rsidRDefault="00AE5B7C" w:rsidP="00C61454">
              <w:pPr>
                <w:rPr>
                  <w:rFonts w:ascii="Calibri" w:hAnsi="Calibri" w:cs="Segoe UI"/>
                </w:rPr>
              </w:pPr>
              <w:proofErr w:type="spellStart"/>
              <w:r w:rsidRPr="00AE5B7C">
                <w:rPr>
                  <w:rFonts w:ascii="Calibri" w:hAnsi="Calibri" w:cs="Segoe UI"/>
                  <w:sz w:val="18"/>
                  <w:szCs w:val="18"/>
                </w:rPr>
                <w:t><xsl:value-of select="comments"/></w:t>
              </w:r>
              <w:proofErr w:type="spellEnd"/>
            </w:p>

В приведенном выше коде комментарии помещаются из запроса mysqli в xslt. Есть несколько других полей, которые могут содержать \ r \ n, поэтому лучше всего подойдет что-то для всего файла.

Если замена в скрипте SELECT работает, я тоже могу выбрать этот маршрут, однако, будучи новичком, я не знаю, как заменить несколько элементов (\ r и \ n), а также что заменить с их помощью для создания перевода строки / возврата каретки в Word.

1 Ответ

0 голосов
/ 04 июля 2018

В XSLT / XPath normalize-space() объединит встроенный пробел и урежет окружающий пробел. Возможно, это может помочь с вашими нежелательными \r\n символами.

См. Также Как добавить новую строку (разрыв строки) в файле XML? (Семантика символов перевода строки и перевода строки может зависеть от приложения обработки .)

Наконец, в OOXML (стандарт разметки для формата Microsoft Word DOCX), используйте <w:br/> (между w:t текстовыми элементами в w:r элементах выполнения), чтобы вызвать разрыв строки.

...