Mysql 到 XSLT 替换 \r\n

Mysql to XSLT replace \r\n

我正在使用来自 MySQLi 查询的数据并将其放入 XSLT 文件中,该文件最终替换了 Word 中的 document.xml 文件。我遇到的问题是 \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 中创建换行符/回车符 return。

在 XSLT/XPath 中,normalize-space() 将合并嵌入的空格和 trim 周围的空格。也许它可以帮助您处理不需要的 \r\n 个字符。

另见 (换行符和换行符的语义可能取决于处理应用程序。)

最后,在 OOXML(Microsoft Word 的 DOCX 格式背后的标记标准)中,使用 <w:br/>(在 w:r 运行 元素内的 w:t 文本元素之间)强制强硬换行。