Является ли «плохой практикой» быть чувствительным к разрывам строк в документах XML? - PullRequest
8 голосов
/ 10 августа 2008

Я генерирую некоторые XML-документы, и когда дело доходит до адресной части, у меня есть фрагменты, которые выглядят так:

<Address>15 Sample St
Example Bay
Some Country</Address>

XSLT, который у меня есть для преобразования этого в XHTML, имеет какой-то прикольный рекурсивный шаблон для преобразования символов новой строки в строках в теги
.

Это все работает нормально; но считается ли это "плохой практикой" полагаться на разрывы строк в документах XML? Если да, то рекомендую ли я сделать это вместо этого?

<Address><Line>15 Sample St</Line>
<Line>Example Bay</Line>
<Line>Some Country</Line></Address>

Похоже, было бы очень неудобно переносить каждое место, где мой текст может состоять из нескольких строк с такими тегами.

Ответы [ 12 ]

0 голосов
/ 10 августа 2008

Что вам действительно нужно сделать, так это конвертировать XML в формат, сохраняющий пробелы.

Таким образом, вместо того, чтобы пытаться заменить \ n на
, вы должны обернуть весь блок в


 Таким образом, ваш адрес функционально сохраняется (включаете ли вы разрывы строк или нет), и XSTL может решить, сохранять ли пробел в результате. 
0 голосов
/ 10 августа 2008

Да, я думаю, что использование блока CDATA защитит пустое пространство. Хотя некоторые API синтаксического анализатора позволяют вам сохранять пробелы.

...