Предположим, вы определили следующее:
class Person(name: String, age: Int) {
def toXml =
<person>
<name>{ name }</name>
<age>{ age }</age>
</person>
}
val Persons = List(new Person("John", 34), new Person("Bob", 45))
Затем сгенерируйте некоторый XML и сохраните его в файл:
val personsXml =
<persons>
{ persons.map(_.toXml) }
</persons>
scala.xml.XML.save("persons.xml", personsXml)
В итоге вы получите следующий забавный текст:
<persons>
<person>
<name>John</name>
<age>32</age>
</person><person>
<name>Bob</name>
<age>43</age>
</person>
</persons>
Теперь, конечно, это вполне допустимый XML, но если вы хотите, чтобы он был редактируемым человеком в достойном текстовом редакторе, было бы предпочтительнее отформатировать его немного красивее.
Изменяя отступы в разных точках XML-литералов Scala, делая код менее привлекательным, можно генерировать вариации вышеприведенного вывода, но кажется, что это невозможно. Я понимаю, почему он форматируется таким образом, но задайтесь вопросом, есть ли способы обойти его.