Skip to content

Variable/expression interpolation in XML should try to call toXml before resorting to toString #3730

@scabug

Description

@scabug

Similiar to String interpolation using toString, variable/expression interpolation inside XML should call something like "toXml" (if it exists) before resorting to toString.

Example:

class Person(name: String, age: Int){
  def toXml = <person><name>{name}</name><age>{age}</age></person>
}

val jon = new Person("Jon Doe", 42)
jon: Person = Person@7e820d53

val jane = new Person("Jane Doe", 40)
jane: Person = Person@3c250cce

val xml = <persons>{jon :: jane :: Nil}</persons>
xml: scala.xml.Elem = <persons>Person@7e820d53 Person@3c250cce</persons> // Current situation

xml: scala.xml.Elem = <persons><person><name>Jon Doe</name><age>42</age></person><person><name>Jane Doe</name><age>40</age></person></persons> // Suggested behaviour

This is a suggestion, no bug report.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions