- From: Michael Kay <mike@s...>
- To: Hans-Juergen Rennau <hrennau@y...>
- Date: Thu, 22 Jun 2017 14:33:01 +0100
(2) A great challenge - and perhaps a hopeless one - would be to create an expressiveness which could at least be a far cry of what XPath offers. It is strange to say N.walk(Axis.child("city")).flatMap(Axis.attribute("name").map(Node::stringValue) when what you really want to say is city/@name
Excellent point. However, dropping into another language does have all sorts of disadvantages: apart from the learning issues, there's the lack of compile-time syntax checking and type checking, the cost of dynamic compilation/interpretation, etc.
One thing to look at, perhaps, is how it translates into Scala, where you can define your own operators:
A.flatMap(B) --> A/B
A.attribute(B) --> A @ B
etc; and then we start to have something very XPath-like, but with a syntax that's compiled and validated by the host language.
Michael Kay Saxonica
|
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
|