Scala XML "\" and "\\" not working after including Scala Parser Combinator with JavaTokenParser -


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