[[ScalaDSL-SupportedLanguages]]
Scala DSL Supported Languages
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Support for link:languages.html[other languages] inside the Scala DSL
routes is delivered through traits. The
`org.apache.camel.scala.dsl.languages` package currently offers traits
to support XPath. To use any given language, you can mix-in the trait
when creating your `RouteBuilder`.

You can use any of the supported Camel link:languages.html[Languages] in
the link:scala-dsl.html[Scala DSL]; see below for a couple of examples:

[[ScalaDSL-Supportedlanguages-Using]]
Using link:xpath.html[XPath]
++++++++++++++++++++++++++++

With the XPath trait, you have an additional method available on an
`Exchange` to do XPath queries against the message. Just look at this
Splitter example, where the `xpath` method is used in a
`Exchange ⇒ Any*` function literal

[[ScalaDSL-Supportedlanguages-Using.1]]
Using link:jxpath.html[JXPath]
++++++++++++++++++++++++++++++

With the `org.apache.camel.scala.dsl.languages.JXPath` trait, you can an
additional `jxpath` method on the `Exchange`. In the Recipient List
example below, JXPath is used for getting the next endpoint's name out
of the message body.
