【发布时间】:2011-07-26 08:27:30
【问题描述】:
如何在 Scala XML 中制作这个最小的 HTML5:
<!DOCTYPE html><title></title><p></p></html>?
当然,在 Scala 中制作类似 HTML 的 XML 很简单:
> val html = <html><title></title><p></p></html>
html: scala.xml.Elem = <html><title></title><p></p></html>
但是,如何在html 标签中注入DOCTYPE 属性?
我尝试了两条路线:
使用scala.xml.Document 和scala.xml.DocType,但两者似乎都基于写出文件或流,而我只是将此XML 对象保存在内存中。好像仪式太多了。
使用Attribute,
> import scala.xml.{Null, Text, Attribute}
> val d = <html /> % Attribute(None, "!DOCTYPE", Text(""), Null)
d: scala.xml.Elem = <html !DOCTYPE=""></html>
这是接近的,但不是一个前缀属性和一个顽皮的分配。
【问题讨论】: