제거 예정: XML 리터럴
제거 예정: XML 리터럴 (XML Literals)
XML 리터럴은 아직 지원되지만 가까운 미래에 제거될 예정이에요. 실제로는 XML 문자열 보간(xml string interpolation)으로 교체될 거예요. 두 방식을 나란히 비교해 볼게요.
본문
XML 리터럴은 여전히 지원되지만, XML 문자열 보간으로 교체되기 위해 가까운 미래에 제거될 예정이에요:
import dotty.xml.interpolator.*
case class Person(name: String) { override def toString = name }
@main def test: Unit =
val bill = Person("Bill")
val john = Person("John")
val mike = Person("Mike")
val todoList = List(
(bill, john, "Meeting", "Room 203, 11:00am"),
(john, mike, "Holiday", "March 22-24")
)
// XML literals (to be dropped)
val mails1 = for (from, to, heading, body) <- todoList yield
<message>
<from>{from}</from><to>{to}</to>
<heading>{heading}</heading><body>{body}</body>
</message>
println(mails1)
// XML string interpolation
val mails2 = for (from, to, heading, body) <- todoList yield xml"""
<message>
<from>${from}</from><to>${to}</to>
<heading>${heading}</heading><body>${body}</body>
</message>"""
println(mails2)
자세한 내용은 Yassin Kammoun(2019)의 학기 프로젝트 XML String Interpolator for Dotty를 참고하세요.