Новые строки в электронной таблице ML при чтении в Excel
Я пытаюсь написать XSLT для создания Spreadsheet ML, который затем будет прочитан Excel и столкнется с проблемой с символами новой строки. Мне нужно добавить новую строку в данные ячейки. Я сделал образец в Excel, чтобы проверить идею Excel о новой строке и получил следующее:
<Data>abc def</Data>
Здесь
ссылка - это новая строка, и Excel прекрасно это понимает, когда читает файл обратно. Я пытаюсь произвести то же самое с XSLT, но, естественно, вместо этого я получаю истинный символ 0x0A (LF), поэтому мой XML выглядит так:
<Data>abc
def</Data
Кажется, это не согласуется с способом представления новой строки в Excel, и когда я открываю файл в Excel, я не вижу новой строки.
Я пытался исследовать проблему, но ничего не получил, кроме следующего короткого обсуждения, которое на самом деле не дает решения и предполагает, что это может быть ошибкой в Excel. (ОБНОВЛЕНИЕ: Насколько я понимаю, это то, что спецификации называют "случайностями кодирования", и синтаксический анализатор XML не должен полагаться на них, в отличие от Excel.)
Есть ли способ как-то обойти это и получить буквальный
в выводе вместо символа НЧ? Или может решить это по-другому?
1 ответ
Да, в Excel есть свой способ различать LF
символ и ссылка на символ
к этому персонажу.
Я думаю, с XSLT 1.0, если вы хотите, чтобы заставить ссылку на символ, то делать <xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text>
путь грубой силы.