string() applied to XPath does not contains CData text. Here it is short example.
import org.scalatest.FunSuite
import java.io.StringReader
import org.xml.sax.InputSource
import scales.xml._
import scales.xml.ScalesXml._
import scales.xml.Functions._
class StringAndCDagta extends FunSuite {
test("Minimum items") {
val input = """<root>
| <nested1>1</nested1>
| <nested2><![CDATA[1]]></nested2>
| </root>
| """.stripMargin('|')
val xml = pullXml(new InputSource(new StringReader(input)))
val root = iterate(List("root" l), xml).next()
assert( "1" === string(root \* "nested1"))
assert( "1" === string(root \* "nested2"))
}
}
It fails on second assert.