the scala program working broken after have included trait scala parser combinator (javatokenparser) below
trait queryfragmentsparser extends javatokenparsers { ....... } object querytranslator extends queryfragmentsparser { ..... ..... val rootnodeid = (xml \ "@nodeid").tostring() } error message in eclipse:
value \ not member of querytranslator.elem querytranslator.scala
can me resolve issue?
i have used following scala xml libraries.
import scala.xml.xml import scala.xml.node import scala.xml.text import scala.xml.elem import scala.xml.attribute import scala.xml.null import scala.xml.transform._ import scala.xml.pull._ import scala.annotation.tailrec import scala.xml.unprefixedattribute.
the parsers trait defines type named elem. object querytranslator inherits parser, has type querytranslator.elem. since inherit regexparser , javatokenparsers, querytranslator.elem alias char that's how traits define type. apparently xml of type querytranslator.elem. when xml \ ... that's error because xml char , there no \ operator chars.
so problem xml of type querytranslator.elem when want of type scala.xml.elem. presumably case because wrote xml : elem somewhere inside querytranslator. since elem refer querytranslator.elem inside querytranslator, you'll either have import scala.xml.elem using alias or refer using (perhaps partially) qualified name. 2 workable solutions be:
import scala.xml.{elem => xelem} // ... def foo(xml: xelem) = ... or
import scala.xml // ... def foo(doc: xml.elem) = ...
Comments
Post a Comment