Tipo no coincidente, nodo requerido, cadena encontrada

Tratando de usar el fragment en el sitio de Kotlin bajo el toque de HTML Builder , así que escribí lo siguiente:

 val tbl = createHTML().table { for ((num, string) in data) { tr { td { +"$num" } td { +string } } } } document.getElementById("container")!!.appendChild(tbl) 

pero el IDE está debajo del tbl con el error de la siguiente manera:

enter image description here

¿Qué error estoy haciendo aquí?

    createHtml() produce una cadena, que no se puede pasar a appendChild() . Deberías usar

     val tbl = document.create.table { ... } 

    que produce un elemento HTMLElement (que es un nodo) o simplemente omite la variable.

     document.getElementById("container")!!.append.table { ... } 

    createHTML().xxx se usa mejor con el server Ktor.io donde se crea algo como:

     val html = createHTML().html { body { form(action = "/login", encType = FormEncType.applicationXWwwFormUrlEncoded, method = FormMethod.post) { p { +"user:" textInput(name = "user") { value = principal?.name ?: "" } } p { +"password:" passwordInput(name = "pass") } p { submitInput() { value = "Login" } } } } } 

    Luego, envíela al browser usando:

     call.respondText(html, ContentType.Text.Html)